XML DOM compareDocumentPosition() 方法
定義和用法
compareDocumentPosition()
方法比較 DOM 層次結構(文檔)中兩個節點的位置。
語法
nodeObject.compareDocumentPosition(node)
參數
參數 | 描述 |
---|---|
node | 必需。Node 對象。規定與當前節點進行比較的節點。 |
技術細節
DOM 版本: | Core Level 3 Node Object |
---|---|
返回值: |
數字,表示兩個節點相對位置的位置。可能的返回值為:
注意:返回值也可以是值的組合。例如。返回值 20 表示指定節點被包含在當前節點 (16) 中,并且指定節點跟隨當前節點 (4) 。 |
實例
下面的代碼將 "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。
瀏覽器支持
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 |
所有主流瀏覽器都支持 compareDocumentPosition() 方法。
注釋:Internet Explorer 9 及更早版本不支持此方法。