XML DOM compareDocumentPosition() 方法
❮ 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);
}
上面程式碼的輸出將是
4
自己動手試一試 »
大多數瀏覽器會將空白字元或換行符視為文字節點,而 IE 9 及更早版本不會。因此,在上面的示例中,大多數瀏覽器將輸出 4,而 IE 9 及更早版本將輸出 2。
定義和用法
compareDocumentPosition() 方法用於比較 DOM 層次結構(文件)中兩個節點的位置。
瀏覽器支援
compareDocumentPosition() 方法在所有主流瀏覽器中都得到支援。
注意:Internet Explorer 9 及更早版本不支援此方法。
語法
nodeObject.compareDocumentPosition(node)
引數
引數 | 型別 | 描述 |
---|---|---|
node | 節點物件 | 必需。指定要與當前節點進行比較的節點。 |
返回值
型別 | 描述 |
---|---|
Number | 一個數字,表示兩個節點之間的相對位置。可能返回值如下: 1 - 無關係,兩個節點不屬於同一文件。 2 - 指定的節點在當前節點之前。 4 - 指定的節點在當前節點之後。 8 - 指定的節點包含當前節點。 16 - 指定的節點被當前節點包含。 32 - 指定節點和當前節點沒有共同的容器節點,或者兩個節點是同一節點的不同屬性。 注意:返回值也可能是值的組合。例如,返回值為 20 表示指定的節點被當前節點包含 (16) 且指定的節點在當前節點之後 (4)。 |
技術詳情
DOM 版本 | Core Level 3 節點物件 |
---|
❮ Node 物件