The Node.compareDocumentPosition() method compares the position of the current node against another node in any other document.

The return value is a bitmask with the following values:

Name Value
DOCUMENT_POSITION_DISCONNECTED 1
DOCUMENT_POSITION_PRECEDING 2
DOCUMENT_POSITION_FOLLOWING 4
DOCUMENT_POSITION_CONTAINS 8
DOCUMENT_POSITION_CONTAINED_BY 16
DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC 32

Syntax

node.compareDocumentPosition( otherNode ) 

Example

var head = document.getElementsByTagName('head').item(0);
if (head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING) {
  console.log("well-formed document");
} else {
  console.log("<head> is not before <body>");
}

Note: Because the result returned by compareDocumentPosition is a bitmask, the bitwise and operator has to be used for meaningful results.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) 9.0+ (Yes) (Yes)
Feature Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) ? (Yes) (Yes)

Specifications

Specification Status Comment
DOM Level 3 Recommendation  
DOM Standard Living standard  

See also

Document Tags and Contributors

Tags: 
Last updated by: JacksonGL,