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 phần tử được chọn.
Nếu nút được chọn không có nút con, thuộc tính này sẽ trả về NULL.
Cú pháp
elementNode.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 mới là nút văn bản, trong khi Internet Explorer không. Do đó, trong ví dụ dưới đây, chúng tôi 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 các 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 nút đó có phải là nút phần tử 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ử). Như vậy, kết quả sẽ 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 Browsers trong Giáo trình XML DOM.
Mô hình
Mã dưới đây sẽ tải "books.xml" vào xmlDoc và lấy nút con cuối cùng: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ử không function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_lastchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // Chỉ xử lý các nút phần tử txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }