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.
Note: First statement uses NodeList method item(0), which is equivalent to getElementsByTagName('head')[0].
Specifications
| Specification | Status | Comment |
|---|---|---|
| DOM The definition of 'Node.compareDocumentPosition()' in that specification. |
Living Standard | |
| Document Object Model (DOM) Level 3 Core Specification The definition of 'Node.compareDocumentPosition()' in that specification. |
Obsolete | Initial definition |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | 9.0 | (Yes) | (Yes) |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | (Yes) | (Yes) | (Yes) | ? | (Yes) | (Yes) |
See also
Document Tags and Contributors
Tags:
Contributors to this page:
jabcreations,
abbycar,
vmsynkov,
Sebastianz,
cvrebert,
JacksonGL,
fscholz,
cuixiping,
teoli,
kscarfone,
namolmes,
Sheppy,
mattbasta,
FredB,
evilpie,
ziyunfei,
ender7,
nodd,
Sephr,
Dao,
Rudolf.noe,
MatthewMastracci,
Mgjbot,
Jresig
Last updated by:
jabcreations,