XML DOM childNodes-egenskab

Definition og brug

childNodes Egenskaben returnerer en NodeList, der indeholder de underliggende childnodes til den valgte node.

Hvis den valgte node ikke har childnodes, returnerer denne egenskab en NodeList, der ikke indeholder noder.

Tips:For at gennemgå childNodes-listen, er det mere effektivt at bruge nextSibling-attributten frem for at bruge forældrenodes childNodes-liste eksplicit.

Syntaks

elementNode.childNodes

Eksempel

Eksempel 1

Nedenstående kode loader "books.xml" til xmlDoc og henter tekstnoden fra den første <title>-element 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;
}

Prøv det selv

Eksempel 2

Nedenstående kode loader "books.xml" til xmlDoc og henter antallet af childNodes fra den første <book>-element 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;
}

Prøv det selv

Firefox og de fleste andre browsere vil betragte mellemrum eller linjeskift som tekstknuder, mens Internet Explorer ikke gør det. Derfor vil outputtet være forskelligt i det ovennævnte eksempel.

For at få mere information om forskelle mellem browsere, besøg DOM-browservinduet i XML DOM-tutorials.