ویژگی lastChild XML DOM

تعریف و کاربرد

lastChild این خاصیت بازمی‌گرداند آخرین فرزند انتخاب شده‌ی عنصر.

اگر گره انتخاب شده فرزند ندارد، این خاصیت NULL را بازمی‌گرداند.

شیوه‌نویسی

elementNode.lastChild
نکات و یادداشت‌ها

توجه داشته باشید:Firefox و بیشتر مرورگرهای دیگر خالی یا خطوط پاراگراف را به عنوان گره‌های متن در نظر می‌گیرند، در حالی که Internet Explorer اینطور نیست. بنابراین، در مثال زیر از یک تابع برای بررسی نوع گره آخرین فرزند استفاده می‌کنیم.

گره‌های عناصر nodeType 1 دارند، بنابراین اگر آخرین فرزند گره عناوری نیست، به گره قبلی منتقل می‌شود و بررسی می‌کند که آیا گره قبلی گره عناوری است یا خیر. این کار تا زمانی که آخرین فرزند پیدا شود (باید گره عناوری باشد) ادامه می‌یابد. بنابراین، نتیجه در همه مرورگرها صحیح است.

توجه:برای اطلاعات بیشتری در مورد تفاوت‌های بین مرورگرها، لطفاً به بخش DOM مرورگر در آموزش XML DOM مراجعه کنید.

مثال

کد زیر "books.xml" را به xmlDoc بارگذاری می‌کند و آخرین فرزند را می‌گیرد:
متغیر xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
   اگر (this.readyState == 4 && this.status == 200) {
       myFunction(this);
   }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
// بررسی می‌کند که آخرین گره آیا گره عناصر است یا خیر
دستورالعمل get_lastchild(n) {
    متغیر x = n.lastChild;
    در حالی که (x.nodeType != 1) {
        x = x.previousSibling;
    }
    بازگرداند x;
}
دستورالعمل myFunction(xml) {
    متغیرها x, i, txt, firstNode, xmlDoc;
    xmlDoc = xml.responseXML;
    x = xmlDoc.documentElement;
    txt = "";
    firstNode = get_lastchild(x);
    برای (i = 0; i < firstNode.childNodes.length; i++) {
        اگر (firstNode.childNodes[i].nodeType == 1) {
            // فقط برای گره‌های عناصر پردازش می‌کنیم
            txt += firstNode.childNodes[i].nodeName +"}}"
            " = " +
            firstNode.childNodes[i].childNodes[0].nodeValue + "<br>";
        }
    }
    document.getElementById("demo").innerHTML = txt;
}

آزمایش کنید