--- title: Node.compareDocumentPosition slug: Web/API/Node/compareDocumentPosition tags: - DOM - DOM Element Methods - Gecko - Gecko DOM Reference translation_of: Web/API/Node/compareDocumentPosition ---
そのノードと別のノードの位置を比較し、結果となるビットマスクを返します。
node.compareDocumentPosition( otherNode )
nodeotherNode呼び出し元の node と {{domxref("Document")}} 内の otherNode の関係を表すビットの整数値。複数の条件に適応する場合、1つ以上のビットがセットされることがあります。compareDocumentPosition() を呼び出した node と比較して、otherNode が 文書のより前にあり、かつ node を含んでいるならば、DOCUMENT_POSITION_CONTAINS と DOCUMENT_POSITION_PRECEDING のビットがセットされ、結果は0x0Aもしくは10進数の10になります。
戻り値は以下の値を持つビットマスクの何れかとなります。
| 名称 | 値 |
|---|---|
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 |
var head = document.getElementsByTagName('head').item(0);
if ( head.compareDocumentPosition(document.body) & Node.DOCUMENT_POSITION_FOLLOWING ) {
console.log("head 要素は body 要素より前に記述されています。");
} else {
console.log("head 要素は body 要素の前に配置しなくてはなりません。");
}
注記: compareDocumentPosition の戻り値はビットマスクです。よって、有意な結果を得るには ビット演算子の "&" を用いなくてはならない点に注意して下さい。
| 仕様書 | 策定状況 | コメント |
|---|---|---|
| DOM Level 3 | Recommendation | |
| DOM Standard | Living standard |