Atribut lastChild DOM XML

Definisi dan Penggunaan

lastChild Atribut mengembalikan node anak terakhir dokumen.

Sintaks

documentObject.lastChild
Tips dan Catatan

Perhatian:Firefox dan sebagian besar peramban lainnya akan melihat kosong atau garis baris sebagai node teks, tetapi Internet Explorer tidak. Oleh karena itu, di contoh di bawah ini, kami menggunakan fungsi untuk memeriksa tipe node node anak terakhir.

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

提示:如需了解有关浏览器之间差异的更多信息,请访问 XML DOM 教程中的 DOM 浏览器章节。

实例

例子 1

下面的代码将 "books.xml" 加载到 xmlDoc 中,并显示文档最后一个子节点的节点名称和节点类型:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// 检查最后一个节点是否是元素节点
function get_lastchild(n) {
    var x = n.lastChild;
    while (x.nodeType != 1) {
        x = x.previousSibling;
    }
    return x;
}
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    var x = get_lastchild(xmlDoc);
    document.getElementById("demo").innerHTML =
    "Nodename: " + x.nodeName +"
    " (nodetype: " + x.nodeType + ")<br>";
}

Coba Sendiri

例子 2

获取文档的第一个子节点:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// 检查第一个节点是否为元素节点
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);
    // 获取根元素的第一个子节点
    var y = get_firstchild(xmlDoc.documentElement);
    document.getElementById("demo").innerHTML =
    "Nodename: " + x.nodeName +" 
    " (nodetype: " + x.nodeType + ")<br>" +
    "Nodename: " + y.nodeName + 
    " (nodetype: " + y.nodeType + ")<br>";
}

Coba Sendiri