Phương thức compareDocumentPosition() của XML DOM
Định nghĩa và cách sử dụng
compareDocumentPosition()
So sánh vị trí của hai nút trong cấu trúc cấp bậc DOM (tài liệu).
Cú pháp
nodeObject.compareDocumentPosition(node)
Tham số
Tham số | Mô tả |
---|---|
node | Bắt buộc. Đối tượng Node. Quy định nút cần so sánh với nút hiện tại. |
Chi tiết kỹ thuật
Phiên bản DOM: | Core Level 3 Node Object |
---|---|
Giá trị trả về: |
Số, biểu thị vị trí tương đối của hai nút. Các giá trị có thể trả về bao gồm:
Lưu ý:Giá trị trả về cũng có thể là tổ hợp của các giá trị. Ví dụ, giá trị trả về 20 có nghĩa là nút được chỉ định được chứa trong nút hiện tại (16) và nút được chỉ định theo sau nút hiện tại (4). |
Ví dụ
Mã dưới đây sẽ tải "books.xml" vào xmlDoc và so sánh vị trí của hai nút (thứ nhất 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); }
Hầu hết các trình duyệt sẽ coi khoảng trống hoặc dòng mới là phần tử văn bản, IE 9 và các phiên bản trước không. Do đó, trong ví dụ trên, hầu hết các trình duyệt sẽ xuất ra 4, trong khi IE 9 và các phiên bản trước sẽ xuất ra 2.
Hỗ trợ trình duyệt
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
Hỗ trợ | Hỗ trợ | Hỗ trợ | Hỗ trợ | Hỗ trợ |
Tất cả các trình duyệt phổ biến đều hỗ trợ phương pháp compareDocumentPosition().
Ghi chú:Trình duyệt Internet Explorer 9 và các phiên bản trước không hỗ trợ phương pháp này.