Thuộc tính firstChild của XML DOM
Định nghĩa và cách sử dụng
firstChild
Thuộc tính trả về nút con đầu tiên của tài liệu.
Cú pháp
documentObject.firstChildLư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à phầ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 phần tử của nút con đầu tiên.
nodeType của phần tử元素 là 1, vì vậy nếu phần tử con đầu tiên không phải là phần tử元素, nó sẽ di chuyển đến phần tử tiếp theo và kiểm tra phần tử đó có phải là phần tử element không. Điều này sẽ tiếp tục cho đến khi tìm thấy phần tử con đầu tiên (phải là phần tử element). Điều này đảm bảo 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, vui lòng truy cập phần DOM của hướng dẫn XML DOM.
Mô hình
Ví dụ 1
Dưới đây là đoạn mã sẽ "books.xml" tải vào xmlDoc và hiển thị tên phần tử con đầu tiên và loại phần tử:
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 phần tử đầu tiên có phải là phần tử元素 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; var x = get_firstchild(xmlDoc); document.getElementById("demo").innerHTML = "Tên nút: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" }
Ví dụ 2
Lấy phầ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 phần tử cuối cùng có phải là 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 xmlDoc = xml.responseXML; // Lấy phần tử con cuối cùng của tài liệu var x = get_lastchild(xmlDoc); // Lấy phần tử con cuối cùng của phần tử gốc var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Tên nút: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Tên nút: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }