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; }
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; }
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.