XML DOM firstChild eigenschap

Definitie en Gebruik

firstChild De eigenschap retourneert het eerste onderliggende knooppunt van het document.

Syntaxis

documentObject.firstChild
Tips en Aantekeningen

Opmerking: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>";
}

Probeer het zelf

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

Probeer het zelf