DOM XML nextSibling Thuộc tính
❮ Đối tượng nút
Thí dụ
Đoạn mã sau tải " books.xml " vào xmlDoc và nhận nút anh em tiếp theo từ phần tử <title> đầu tiên:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the next sibling node is an element node
function
get_nextsibling(n) {
var x = n.nextSibling;
while (x.nodeType != 1) {
x =
x.nextSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName("title")[0];
var y
= get_nextsibling(x);
document.getElementById("demo").innerHTML
= x.nodeName + " = " +
x.childNodes[0].nodeValue +
"<br>Next sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
Đầu ra của đoạn mã trên sẽ là:
title = Everyday Italian
Next sibling: author = Giada De Laurentiis
Định nghĩa và Cách sử dụng
Thuộc tính nextSibling trả về nút ngay sau một nút (nút sau trong cùng một cấp cây).
Nếu không có nút như vậy, thuộc tính này trả về null.
Cú pháp
nodeObject.nextSibling
Mẹo và lưu ý
Lưu ý: Firefox và hầu hết các trình duyệt khác, sẽ coi các khoảng trắng trống hoặc các dòng mới là các nút văn bản, Internet Explorer thì không. Vì vậy, trong ví dụ dưới đây, chúng ta có một hàm kiểm tra loại nút của nút anh em tiếp theo.
Các nút phần tử có Loại nút là 1, vì vậy nếu nút anh em tiếp theo không phải là nút phần tử, nó sẽ di chuyển đến nút tiếp theo và kiểm tra xem nút này có phải là nút phần tử hay không. Điều này tiếp tục cho đến khi tìm thấy nút anh em tiếp theo (phải là nút phần tử). Bằng cách này, kết quả sẽ chính xác trong tất cả các trình duyệt.
Mẹo: Để đọc thêm về sự khác biệt giữa các trình duyệt, hãy truy cập chương Trình duyệt DOM trong Hướng dẫn về DOM XML của chúng tôi.
Bản trình diễn thử tự làm
❮ Đối tượng nút