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 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.firstChild
Lưu ý:Firefox và hầu hết các trình duyệt khác sẽ coi không gian 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 node của nút con đầu tiên.
Node type của các nút phần tử là 1, vì vậy nếu nút con đầu tiên không phải là nút phần tử, nó sẽ di chuyển đến nút tiếp theo và kiểm tra xem 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 đầu tiên (phải là nút phần tử). Điều này đảm bảo rằng 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 Browser trong Hướng dẫn XML DOM.
Mô hình
Mã dưới đây sẽ tải "books.xml" vào xmlDoc và lấy nút con đầu tiên:
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 xem nút đầu tiên có phải là nút 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 x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(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; }