خصائص lastChild في XML DOM
التعريف والاستخدام
lastChild
الخاصية تعود بالنود الأخير للوثيقة.
القواعد النحوية
documentObject.lastChild
ملاحظة:Firefox و معظم المتصفحات الأخرى تعتبر الفراغ أو النسخة المكررة من النص النود، بينما لا يفعل ذلك Internet Explorer. لذلك، في المثال التالي، نستخدم دالة لتحقق من نوع النود الأخير.
نوع النود للعناصر هو 1، لذا إذا لم يكن النود الأخير هو نود عنصر، فإنه سيقوم بالانتقال إلى النود السابق والتحقق مما إذا كان هذا النود هو نود عنصر. هذا العمل سيستمر حتى يتم العثور على النود الأخير (يجب أن يكون نود عنصر). بهذه الطريقة، ستكون النتيجة صحيحة في جميع المتصفحات.
نصيحة:للحصول على معلومات إضافية حول الاختلافات بين المتصفحات، يرجى زيارة قسم DOM المتصفحات في دروس XML 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 +" " (نوع النود: " + 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>"; }