خصائص firstChild في XML DOM
تعريف والاستخدام
firstChild
يستعيد الخصائص العقدة الأولى للعنصر المحدد
إذا لم يكن لدي العقدة أي عناصر فرعية، فإن هذا الخصائص يعود NULL.
القواعد النحوية
elementNode.firstChild
ملاحظة:سيقوم Firefox ومتصفحات أخرى معظمها بمعالجة الفراغات أو الأسطر كعناصر نصية، بينما لن يفعل ذلك متصفح Internet Explorer. لذلك، سنستخدم في المثال التالي وظيفة لتحقق من نوع العقدة الأولى.
مكون العقدة nodeType هو 1، لذا إذا لم يكن العقدة الأولى هي مكون العقدة، فإنها ستنتقل إلى العقدة التالية وتتحقق مما إذا كانت العقدة هي مكون العقدة. سيستمر هذا حتى يتم العثور على العقدة الأولى (يجب أن تكون مكون العقدة). بهذا الشكل، ستكون النتيجة صحيحة في جميع المتصفحات.
نصيحة:للحصول على معلومات إضافية حول الاختلافات بين المتصفحات، يرجى زيارة قسم DOM المتصفحات في دروس XML DOM.
مثال
تحتوي الكود التالي على "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 x, i, txt, firstNode, xmlDoc; xmlDoc = xml.responseXML; x = xmlDoc.documentElement; txt = ""; firstNode = get_firstchild(x); for (i = 0; i < firstNode.childNodes.length; i++) { if (firstNode.childNodes[i].nodeType == 1) { // تتعامل فقط مع عناصر العقدة txt += firstNode.childNodes[i].nodeName +"}}" " = " + firstNode.childNodes[i].childNodes[0].nodeValue + "<br>"; } } document.getElementById("demo").innerHTML = txt; }