XML DOM 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;
}
上述代码的输出将是
Everyday Italian
试一试 »
定义和用法
childNodes 属性返回一个 NodeList,其中包含所选节点的子节点。
如果所选节点没有子节点,则此属性返回一个 NodeList,其中不包含任何节点。
语法
elementNode.childNodes
提示和说明
提示:要循环遍历 childNodes 列表,使用 nextSibling 属性比显式使用父对象 childNodes 列表效率更高。
示例
以下代码片段将 "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;
}
上述代码的输出将是
9
在 IE9 及更早版本中,上述代码的输出将是
4
试一试 »
Firefox 和大多数其他浏览器将把空白或换行符视为文本节点,而 Internet Explorer 则不会。因此,在上面的示例中,输出将不同。
要详细了解不同浏览器之间的差异,请访问我们 XML DOM 教程中的 DOM 浏览器 章。
❮ 元素对象