XML DOM compareDocumentPosition() 方法
❮ 元素对象
示例
以下代码片段将 "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。
要了解有关浏览器之间差异的更多信息,请访问我们 XML DOM 教程中的 DOM 浏览器 章节。
定义和用法
compareDocumentPosition() 方法根据文档顺序比较当前节点与指定节点的文档位置。
语法
elementNode.compareDocumentPostition(node)
参数 | 描述 |
---|---|
node | 必需。指定要与当前节点比较的节点 |
❮ 元素对象