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
Tips and Notes

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

Probeer het zelf