Thuộc tính previousSibling của XML DOM

Tài liệu tham khảo đối tượng Node

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

Thuộc tính previousSibling có thể trả về node trước đó của một node (ở cùng cấp trong cây)

Nếu không có node này, thì thuộc tính này sẽ trả về null.

Cú pháp:

nodeObject.previousSibling

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ý hiệu mới dòng), trong khi Mozilla sẽ 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 phần tử node là 1, vì vậy nếu node con đầu tiên không phải là node phần tử, nó sẽ di chuyển đến node tiếp theo và tiếp tục kiểm tra node này có phải là node phần tử hay không. Quá trình này sẽ tiếp tục cho đến khi tìm thấy node con phần tử đầ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 của IE và Mozilla, hãy truy cập trang web của chúng ta DOM Trình duyệt chương.

thực hành

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 dưới đây có thể được lấy từ phần tử <author> trong tài liệu XML để lấy node anh em trước:

//kiểm tra xem node anh em trước có phải là node phần tử hay không
function get_previoussibling(n)
{
var x=n.previousSibling;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName("author")[0];
document.write(x.nodeName);
document.write(" = ");
document.write(x.childNodes[0].nodeValue);
var y=get_previoussibling(x);
document.write("<br />Cấp đồng cấp trước: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Kết quả xuất ra:

author = Giada De Laurentiis
Cấp đồng cấp trước: title = Everyday Italian

Tài liệu tham khảo đối tượng Node