XML DOM firstChild eigenschap
definitie en gebruik
firstChild
Deze eigenschap retourneert de eerste subknop van het geselecteerde element
Als de geselecteerde knop geen subknopen heeft, retourneert deze eigenschap NULL.
Syntax
elementNode.firstChild
Opmerking:Firefox en de meeste andere browsers zien witruimte of regels als tekstknopen, terwijl Internet Explorer dat niet doet. Daarom gebruiken we in het volgende voorbeeld een functie om het nodetype van de eerste subknop te controleren.
De nodeType van elementknopen is 1, dus als de eerste subknop geen elementknop is, wordt deze verplaatst naar de volgende knop en wordt gecontroleerd of deze een elementknop is. Dit gaat door tot de eerste subknop (moet een elementknop zijn) is gevonden. Op deze manier is het resultaat correct in alle browsers.
Tip:Voor meer informatie over verschillen tussen browsers, bezoek het hoofdstuk DOM Browsers in de XML DOM tutorial.
Voorbeeld
De volgende code laadt "books.xml" in xmlDoc en haalt de eerste subknop op:
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { myFunction(this); } }; xhttp.open("GET", "books.xml", true); xhttp.send(); // Controleer of de eerste knoop een elementknop is function get_firstchild(n) { var x = n.firstChild; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // Alleen elementknopen verwerken txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }