XML DOM lastChild 属性

定义和用法

lastChild 属性返回指定的节点的最后一个子节点。

语法

nodeObject.lastChild
Tips and Notes

注意:Firefox และส่วนใหญ่ของเบราซเรอร์อื่นๆ จะถือว่าช่องว่างหรือการเปลี่ยนแปลงบรรทัดเป็นตัวเลขข้อความ ในขณะที่ Internet Explorer ไม่เช่นนั้น ดังนั้น ในตัวอย่างด้านล่าง พวกเราใช้ฟังก์ชันเพื่อตรวจสอบชนิดของตัวเลขข้อความของเด็กท้ายสุด

ตัวเลขของเอลิเมนต์คือ 1 ดังนั้น ถ้าเอลิเมนต์ลูกสุดท้ายไม่ใช่เอลิเมนต์ จะเคลื่อนย้ายไปยังเอลิเมนต์ก่อนหน้านี้ และตรวจสอบว่าเอลิเมนต์นี้เป็นเอลิเมนต์หรือไม่ นี่จะทำต่อไปจนกว่าจะหาเอลิเมนต์ลูกสุดท้าย (ต้องเป็นเอลิเมนต์) ซึ่งจะทำให้ผลลัพธ์ถูกต้องในทุกเบราซเซอร์

คำเตือน:หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างเบราซเซอร์ โปรดเข้าชมบทสอน 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>";
}

亲自试一试

ตัวอย่าง 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>";
}

亲自试一试