Node.compareDocumentPosition
概要
そのノードと別のノードの位置を比較し、結果となるビットマスクを返します。
構文
node.compareDocumentPosition( otherNode )
パラメーター
node
- 比較元ノード
otherNode
- node と比較する別ノード
返り値
呼び出し元の node
と 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 |