XML DOM lastChild özelliği

Tanım ve Kullanım

lastChild Özellik, belgenin en son alt düğümünü döndürür.

Sözdizimi

documentObject.lastChild
İpuçları ve Notlar

Dikkat:Firefox ve çoğu diğer tarayıcı boşluk veya satır değişikliğini metin düğümü olarak görürken, Internet Explorer bunu yapmaz. Bu nedenle, aşağıdaki örnekte, en son alt düğüm düğüm türünü kontrol etmek için bir fonksiyon kullanıyoruz.

Element düğümünün nodeType'ı 1'dir, bu yüzden en son altçocuk element düğümü değilse, bir önceki düğüme taşınır ve bu düğümün element düğümü olup olmadığı kontrol edilir. Bu, en son altçocuğun (element düğümü olmalıdır) bulunana kadar devam eder. Bu şekilde, sonuç tüm tarayıcılar için doğru olur.

İpucu:Tarayıcılar arasındaki farklılıklar hakkında daha fazla bilgi edinmek için XML DOM Eğitimindeki DOM Tarayıcı Bölümünü ziyaret edin.

örnek

örnek 1

Aşağıdaki kod "books.xml" dosyasını xmlDoc içine yükler ve belgenin en son altçocuğunun adını ve türünü gösterir:

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

Kişisel olarak deneyin

örnek 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>";
}

Kişisel olarak deneyin