XML DOM childNodes 属性
定义和用法
childNodes
属性返回包含所选节点的子节点的 NodeList。
如果所选节点没有子节点,则此属性返回不包含节点的 NodeList。
提示:如需循环遍历 childNodes 列表,使用 nextSibling 属性比显式使用父对象的 childNodes 列表更有效。
语法
elementNode.childNodes
实例
例子 1
下面的代码将 "books.xml" 加载到 xmlDoc 中,并从 "books.xml" 中的第一个 <title> 元素获取文本节点:
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; }
例子 2
下面的代码将 "books.xml" 加载到 xmlDoc 中,并从 "books.xml" 中的第一个 <book> 元素获取子节点的数量: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와 대부분의 다른 브라우저는 공백이나 개행을 텍스트 노드로 간주하지만, Internet Explorer는 아닙니다. 따라서 위의 예제에서 출력은 다를 수 있습니다.
브라우저 간 차이에 대한 더 많은 정보를 알고 싶다면, XML DOM 강의의 DOM 브라우저 장단점을 방문하십시오.