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 브라우저 장을 방문하세요.