Thuộc tính childNodes của XML DOM
Định nghĩa và cách sử dụng
childNodes
Thuộc tính trả về NodeList chứa các subnodes của node được chọn.
Nếu node được chọn không có subnodes, thuộc tính này sẽ trả về NodeList không chứa node.
Lưu ý:Để lặp qua danh sách childNodes, sử dụng thuộc tính nextSibling hiệu quả hơn là sử dụng danh sách childNodes của đối tượng cha.
Ngữ pháp
elementNode.childNodes
Mô hình
Ví dụ 1
Dưới đây là mã để tải "books.xml" vào xmlDoc và lấy text node của phần tử đầu tiên <title> trong "books.xml":
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = x.childNodes[0]; document.getElementById("demo").innerHTML = y.nodeValue; }
Ví dụ 2
Dưới đây là mã để tải "books.xml" vào xmlDoc và lấy số lượng subnodes của phần tử đầu tiên <book> trong "books.xml":var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("book")[0].childNodes; document.getElementById("demo").innerHTML = x.length; }
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 sẽ không. Do đó, kết quả đầu ra sẽ khác nhau trong ví dụ trên.
Để 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 trình duyệt trong Hướng dẫn XML DOM.