Phương thức compareDocumentPosition() của XML DOM

Định nghĩa và cách sử dụng

compareDocumentPosition() Phương thức so sánh vị trí của nút hiện tại với nút được chỉ định dựa trên thứ tự tài liệu.

Cú pháp

elementNode.compareDocumentPostition(node)
Tham số Mô tả
node Bắt buộc. Định nghĩa nút cần so sánh với nút hiện tại.

Mô hình

Dưới đây là mã nguồn sẽ "books.xml" tải vào xmlDoc và so sánh vị trí của hai nút (đầu tiên và thứ ba <book>元素) trong cấu trúc DOM:

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);
}

Thử nghiệm trực tiếp

Hầu hết các trình duyệt sẽ coi là nút văn bản các khoảng trống hoặc dòng mới, các phiên bản IE 9 và cũ hơn sẽ không. Do đó, trong ví dụ trên, hầu hết các trình duyệt sẽ trả về 4, trong khi các phiên bản IE 9 và cũ hơn sẽ trả về 2.

Để biết thêm thông tin về sự khác biệt giữa các trình duyệt, hãy truy cập phần DOM trình duyệt trong hướng dẫn XML DOM.