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

関連情報