XML DOM compareDocumentPosition() 方法

定義和用法

compareDocumentPosition() 方法根據文檔順序將當前節點的文檔位置與指定節點進行比較。

語法

elementNode.compareDocumentPostition(node)
參數 描述
node 必需。規定與當前節點進行比較的節點。

實例

下面的代碼將 "books.xml" 加載到 xmlDoc 中,并比較 DOM 層次結構中兩個節點(第一個和第三個 <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 瀏覽器章節。