Thuộc tính lastChild của XML DOM
Định nghĩa và cách sử dụng
lastChild
Thuộc tính trả về nút con cuối cùng của tài liệu.
Cú pháp
documentObject.lastChild
Lưu ý:Firefox và hầu hết các trình duyệt khác sẽ coi khoảng trống hoặc dòng trống là nút văn bản, trong khi Internet Explorer không. Do đó, trong ví dụ sau, chúng ta sử dụng một hàm để kiểm tra loại nút của nút con cuối cùng.
nodeType của nút phần tử là 1, vì vậy nếu nút con cuối cùng không phải là nút phần tử, nó sẽ 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. Điều này sẽ tiếp tục cho đến khi tìm thấy nút con cuối cùng (phải là nút phần tử). Điều này đảm bảo kết quả chính xác trên tất cả các trình duyệt.
Lưu ý:Để biết thêm thông tin về sự khác biệt giữa các trình duyệt, hãy truy cập phần DOM Browser trong giáo trình XML DOM.
Mô hình
Ví dụ 1
Dưới đây là đoạn mã sẽ tải "books.xml" vào xmlDoc và hiển thị tên và loại nút con cuối cùng của tài liệu:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Kiểm tra nút cuối cùng có phải là nút phần tử hay không function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; var x = get_lastchild(xmlDoc); document.getElementById("demo").innerHTML = "Tênhame: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" {}
Ví dụ 2
Lấy nút con đầu tiên của tài liệu:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); {} }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Kiểm tra nút đầu tiên có phải là nút phần tử hay không function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; {} return x; {} function myFunction(xml) { var xmlDoc = xml.responseXML; // Lấy nút con đầu tiên của tài liệu var x = get_firstchild(xmlDoc); // Lấy nút con đầu tiên của phần tử gốc var y = get_firstchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Tênhame: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Tênhame: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; {}