XML DOM lastChild-attribut

Definition och användning

sista barnet Egenskapen returnerar den sista undernoden för det valda elementet.

Om den valda noden inte har några undernoder returnerar denna egenskap NULL.

Syntax

elementNode.lastChild
Tips och Noteringar

Observera:Firefox och de flesta andra webbläsare betraktar tomma utrymme eller nyckelrador som textnoder, medan Internet Explorer inte gör det. Därför används en funktion för att kontrollera nodtypen för den sista undernoden i följande exempel.

Elementnodernas nodeType är 1, så om den sista undernoden inte är en elementnod flyttas den till föregående nod och kontrolleras om den är en elementnod. Detta fortsätter tills den sista undernoden (måste vara en elementnod) är funnen. På så sätt är resultatet korrekt i alla webbläsare.

Tips:För mer information om skillnader mellan webbläsare, besök DOM-biblioteket i XML DOM-tutorials sektion.

Exempel

Nedanstående kod laddar "books.xml" till xmlDoc och hämtar den sista undernoden:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// Kontrollera om den sista noden är en elementnod
function get_lastchild(n) {
    var x = n.lastChild;
    while (x.nodeType != 1) {
        x = x.previousSibling;
    }
    return x;
}
function myFunction(xml) {
    var x, i, txt, firstNode, xmlDoc;
    xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement;
    txt = "";
    firstNode = get_lastchild(x);
    for (i = 0; i < firstNode.childNodes.length; i++) {
        if (firstNode.childNodes[i].nodeType == 1) {
            // Bara elementnoder hanteras
            txt += firstNode.childNodes[i].nodeName +""}
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        }
    }
    document.getElementById("demo").innerHTML = txt;
}

Prova själv