XML DOM lastChild Property

Definition and Usage

lastChild Diese Eigenschaft gibt den letzten Kindknoten des ausgewählten Elements zurück.

Wenn der ausgewählte Knoten keine Kindknoten hat, gibt diese Eigenschaft NULL zurück.

Syntax

elementNode.lastChild
Tips and Notes

Beachten Sie:Firefox und die meisten anderen Browser betrachten Leerzeichen oder Zeilenumbrüche als Textknoten, während Internet Explorer dies nicht tut. Daher verwenden wir in diesem Beispiel eine Funktion, um den Knotentyp des letzten Kindknotens zu überprüfen.

Der nodeType eines Elementknotens beträgt 1, daher wird, wenn der letzte Kindknoten kein Elementknoten ist, auf den vorherigen Knoten verwiesen und überprüft, ob dieser Knoten ein Elementknoten ist. Dies wird fortgesetzt, bis der letzte Kindknoten (muss ein Elementknoten sein) gefunden wird. Auf diese Weise wird das Ergebnis in allen Browsern korrekt sein.

Hinweis:Für mehr Informationen über Unterschiede zwischen Browsern besuchen Sie bitte das Kapitel DOM-Browser in der XML DOM-Anleitung.

Beispiel

Die folgenden Codezeilen laden "books.xml" in xmlDoc und erhalten den letzten Kindknoten:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   {}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// Überprüfen, ob der letzte Knoten ein Elementknoten ist
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) {
            // Nur Elementknoten verarbeiten
            txt += firstNode.childNodes[i].nodeName +"}}"
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        {}
    {}
    document.getElementById("demo").innerHTML = txt;
{}

Try It Yourself