خصائص firstChild في XML DOM
التعريف والاستخدام
firstChild
الخصائص تعود بالعنصر الأول للثمرة.
النحو
documentObject.firstChildملاحظة:Firefox و معظم المتصفحات الأخرى تعتبر الفراغ أو النسخة من البدائل النصية، بينما Internet Explorer لا تفعل ذلك. لذلك، في المثال التالي، نستخدم دالة لتحقق من نوع العنصر الأول للفرز.
مكون العنصر nodeType هو 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_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); 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_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); // الحصول على آخر عنصر فرعي للعنصر الجذر var y = get_lastchild(xmlDoc.documentElement); document.getElementById("demo").innerHTML = "Nodename: " + x.nodeName + " (nodetype: " + x.nodeType + ")<br>" + "Nodename: " + y.nodeName + " (nodetype: " + y.nodeType + ")<br>"; }