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

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

Thuộc tính previousSibling trả về phần tử cùng cấp trước đó của phần tử được chọn (phần tử trước đó trong cùng cấp độ cây).

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

Cú pháp:

elementNode.previousSibling

Hướng dẫn và ghi chú

Ghi chú:Internet Explorer sẽ bỏ qua các nút văn bản trống được tạo giữa các nút (ví dụ: ký tự enter), trong khi Mozilla không làm điều đó. Do đó, trong ví dụ sau, chúng ta sử dụng một hàm để kiểm tra loại nút của phần tử cùng cấp trước đó.

Kiểu nút của phần tử nút phần tử là 1, vì vậy nếu phần tử cùng cấp trước đó không phải là nút phần tử, thì di chuyển đến nút trước đó và kiểm tra xem nó có phải là nút phần tử hay không. Quá trình này tiếp tục cho đến khi tìm thấy phần tử cùng cấp trước đó. Phương pháp này có thể đảm bảo rằng bạn nhận được kết quả chính xác trên cả Internet Explorer và Mozilla.

Nếu bạn cần thêm thông tin về sự khác biệt giữa IE và trình duyệt Mozilla, hãy truy cập vào phần hướng dẫn XML DOM trên CodeW3C.com DOM trình duyệt phần này.

ví dụ

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 lấy phần tử cùng cấp trước đó đầu tiên của phần tử <author> trong tài liệu XML:

//kiểm tra xem phần tử cùng cấp trước đó có phải là nút 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 />Bên cạnh cùng cấp: ");
document.write(y.nodeName);
document.write(" = ");
document.write(y.childNodes[0].nodeValue);

Kết quả đầu ra của đoạn mã trên:

author = Giada De Laurentiis
Bên cạnh cùng cấp: title = Everyday Italian