XML DOM compareDocumentPosition() メソッド

定義と使用方法

compareDocumentPosition() このメソッドは、指定された节点と、現在の节点のドキュメント内の位置を比較します。

構文

elementNode.compareDocumentPostition(node)
パラメータ 説明
node 必須。比較する节点を指定します。

以下のコードは、"books.xml"をxmlDocに読み込み、DOM階層構造内の2つのノード(第1および第3の<book>要素)の位置を比較します:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = xmlDoc.getElementsByTagName('book')[0];
    var y = xmlDoc.getElementsByTagName('book')[2];
    document.getElementById("demo").innerHTML =
    x.compareDocumentPosition(y);
}

自分で試してみる

ほとんどのブラウザは空白や新しい行をテキストノードとして処理しますが、IE 9およびそれ以前のバージョンではそうではありません。したがって、上記の例では、ほとんどのブラウザが4を、IE 9およびそれ以前のバージョンが2を出力します。

ブラウザ間の差異に関する詳細な情報を知りたい場合は、XML DOM 教程のDOMブラウザセクションにアクセスしてください。