XML DOM firstChild eigenschap
Definitie en Gebruik
firstChild
De eigenschap retourneert het eerste onderliggende knooppunt van het document.
Syntaxis
documentObject.firstChildOpmerking:Firefox en de meeste andere browsers beschouwen witruimte of een nieuwe regel als een tekstknooppunt, terwijl Internet Explorer dat niet doet. Daarom gebruiken we in het volgende voorbeeld een functie om het knooppunttype van de eerste onderliggende knooppunt te controleren.
Het nodeType van elementknopen is 1, dus als de eerste onderliggende knoop geen elementknoop is, zal deze verplaatst worden naar de volgende knoop en wordt gecontroleerd of deze een elementknoop is. Dit zal voortdurend gebeuren totdat de eerste onderliggende knoop (moet een elementknoop zijn) is gevonden. Op deze manier is het resultaat correct in alle browsers.
Tip:Voor meer informatie over verschillen tussen browsers, bezoek de DOM-browsers sectie van de XML DOM tutorial.
Voorbeeld
Voorbeeld 1
De volgende code laadt "books.xml" in xmlDoc en toont de naam en het type van de eerste onderliggende knoop:
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 elementknoop is 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 = "Nodenaam: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>"; }
Voorbeeld 2
Verkrijg de laatste onderliggende knoop van het document:
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 laatste knoop een elementknoop is function get_lastchild(n) { var x = n.lastChild; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; // Verkrijg de laatste onderliggende knoop van het document var x = get_lastchild(xmlDoc); // Verkrijg de laatste onderliggende knoop van de root-element var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodenaam: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Nodenaam: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }