Properti lastChild XML DOM

Definisi dan penggunaan

lastChild Properti ini mengembalikan node anak terakhir dari elemen yang dipilih.

Jika node yang dipilih tidak memiliki node anak, properti ini mengembalikan NULL.

Sintaks

elementNode.lastChild
Tips dan Notes

Perhatian:Firefox dan sebagian besar browser lainnya akan menganggap spasi atau enter sebagai node teks, sementara Internet Explorer tidak. Oleh karena itu, di contoh di bawah ini, kita menggunakan fungsi untuk memeriksa tipe node node anak terakhir.

Node elemen nodeType adalah 1, jadi jika node anak terakhir bukan node elemen, dia akan bergerak ke node sebelumnya dan memeriksa apakah node tersebut adalah node elemen. Ini akan terus berlanjut sampai menemukan node anak terakhir (harus menjadi node elemen). Demikian pula, hasilnya benar di semua browser.

Petunjuk:Untuk mendapatkan informasi lebih lanjut tentang perbedaan antara browser, kunjungi bab DOM Browser di tutorial XML DOM.

Contoh

Kode di bawah ini akan mengambil "books.xml" ke xmlDoc dan mendapatkan node anak terakhir:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// memeriksa apakah node terakhir adalah node elemen
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) {
            // hanya menghandle node elemen
            txt += firstNode.childNodes[i].nodeName +""}
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        }
    }
    document.getElementById("demo").innerHTML = txt;
}

亲自试一试