XML DOM childNodes-egenskap

Definition och användning

childNodes Egenskapen returnerar en NodeList som innehåller de undernoder som är valda.

Om den valda noden inte har några childnodes returnerar denna egenskap en NodeList utan noder.

Tips:För att loopa igenom childNodes-listan är det mer effektivt att använda nextSibling-egenskapen än att explicit använda förälderns childNodes-lista.

Syntax

elementNode.childNodes

Exempel

Exempel 1

Nedanstående kod laddar "books.xml" till xmlDoc och hämtar textnoden från den första <title>-elementet i "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;
}

亲自试一试

Exempel 2

Nedanstående kod laddar "books.xml" till xmlDoc och hämtar antalet childnodes från den första <book>-elementet i "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 和大多数其他浏览器会将空白或换行视为文本节点,而 Internet Explorer 不会。因此,在上面的例子中,输出将会有所不同。

如需了解有关浏览器之间差异的更多信息,请访问 XML DOM 教程中的 DOM 浏览器章节。