XML DOM compareDocumentPosition() 方法
❮ Element 元素对象
实例
以下代码片段将"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
亲自试一试 »
Internet Explorer 会忽略节点之间生成的空白文本节点(比如换行字符),而 Mozilla 不这么做。因此,在上面的例子中,Mozilla 输出 4,而 Internet Explorer 输出 2。
要了解更多关于浏览器之间差异的信息,请访问DOM Browsers 一章。
定义和用法
compareDocumentPosition() 方法根据文档顺序将当前节点的文档位置与指定节点进行比较。
语法
elementNode.compareDocumentPostition(node)
参数 | 描述 |
---|---|
node | 必需。规定与当前节点比较的节点。 |
❮ Element 元素对象