Thuộc tính nextSibling của XML DOM
Định nghĩa và cách sử dụng
Thuộc tính nextSibling có thể trả về element ngay sau element đó (nằm ở cùng một cấp trong cây).
Nếu không có node này, thuộc tính sẽ trả về null.
Cú pháp:
nodeObject.nextSibling
Lưu ý và ghi chú
Ghi chú:Internet Explorer sẽ bỏ qua các node văn bản trống giữa các node (ví dụ: ký tự ngắt dòng), trong khi Mozilla không làm điều này. Do đó, trong ví dụ sau, chúng ta sẽ sử dụng hàm để kiểm tra loại node của node con đầu tiên.
Loại node của element là 1, vì vậy nếu node con đầu tiên không phải là element, nó sẽ di chuyển đến node tiếp theo và tiếp tục kiểm tra xem node đó có phải là element không. Quá trình này sẽ tiếp tục cho đến khi tìm thấy node con element đầu tiên. Bằng cách này, chúng ta có thể nhận được phương pháp chính xác trên Internet Explorer và Mozilla.
Lưu ý:Nếu bạn cần thêm thông tin về sự khác biệt giữa XML DOM trên trình duyệt IE và Mozilla, hãy truy cập trang web của chúng ta Trình duyệt DOM chương.
thực例
Trong tất cả các ví dụ, chúng ta sẽ sử dụng tệp XML books.xmlvà hàm JavaScript loadXMLDoc()。
Mã đoạn sau đây có thể lấy được node con đồng cấp tiếp theo của element đầu tiên <title> trong tài liệu XML:
//kiểm tra xem em của node tiếp theo có phải là node element không
function get_nextsibling(n)
{
var x=n.nextSibling
;
while (x.nodeType!=1)
{
x=x.nextSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("title")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_nextsibling(x);
document.write("<br />Next sibling: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);
Kết quả xuất ra:
title = Everyday Italian Next sibling: author = Giada De Laurentiis