XML DOM firstChild- eigenschap
❮ Knooppuntobject
Voorbeeld
Het volgende codefragment laadt " books.xml " in xmlDoc en geeft de knooppuntnaam van het eerste onderliggende knooppunt weer:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// Check if the first node is an element node
function get_firstchild(n)
{
var x = n.firstChild;
while (x.nodeType
!= 1) {
x = x.nextSibling;
}
return x;
}
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = get_firstchild(xmlDoc);
document.getElementById("demo").innerHTML =
"Nodename:
" + x.nodeName +
" (nodetype: " + x.nodeType + ")<br>";
}
De uitvoer van de bovenstaande code zal zijn:
Nodename: bookstore (nodetype: 1)
Definitie en gebruik
De eigenschap firstChild retourneert het eerste onderliggende knooppunt van het opgegeven knooppunt.
Syntaxis
nodeObject.firstChild
Tips en opmerkingen
Opmerking: Firefox en de meeste andere browsers behandelen lege spaties of nieuwe regels als tekstknooppunten, Internet Explorer niet. In het onderstaande voorbeeld hebben we dus een functie die het knooppunttype van het eerste onderliggende knooppunt controleert.
Elementknooppunten hebben een nodeType van 1, dus als het eerste onderliggende knooppunt geen elementknooppunt is, gaat het naar het volgende knooppunt en controleert het of dit knooppunt een elementknooppunt is. Dit gaat door totdat het eerste onderliggende knooppunt (dat een elementknooppunt moet zijn) is gevonden. Op deze manier is het resultaat in alle browsers correct.
Tip: om meer te lezen over de verschillen tussen browsers, bezoek ons hoofdstuk over DOM-browsers in onze XML DOM-zelfstudie.
Probeer-het-zelf-demo's
❮ Knooppuntobject