خصائص nextSibling في XML DOM
التعريف والاستخدام
nextSibling
تعود الخاصية إلى العقدة التالية للعقدة المحددة (العقدة التالية في نفس مستوى الشجرة).
إذا لم يكن هناك أي عقدة مثل ذلك، فإن هذه الخاصية تعود NULL.
اللغة
nodeObject.nextSibling
ملاحظة:سيقوم Firefox ومعظم المتصفحات الأخرى بتقديم الفراغ أو السطر الفارغ كنوع النص، بينما لن يفعل ذلك Internet Explorer. لذلك، في المثال التالي، نستخدم دالة لفحص نوع العنصر التالي من الأشقاء.
مكونات العنصر nodeType هو 1، لذا إذا لم يكن العنصر التالي من الأشقاء ليس مكونًا عناصر، فإنه ينتقل إلى العنصر التالي ويقوم بفحص ما إذا كان العنصر هو مكون عناصر. سيستمر هذا حتى يتم العثور على العنصر التالي من نفس المستوى (يجب أن يكون مكون عناصر). بهذه الطريقة، تكون النتيجة صحيحة في جميع المتصفحات.
إشارة:للحصول على معلومات إضافية حول الفروق بين المتصفحات، يرجى زيارة قسم DOM المستعرض في دروس XML DOM.
مثال
مثال 1
كود التالي سيزيد "books.xml" إلى xmlDoc ويحصل على العنصر التالي من نفس المستوى من العنصر الـ <title> الأول:
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_nextsibling(n) { var x = n.nextSibling; while (x.nodeType != 1) { x = x.nextSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("title")[0]; var y = get_nextsibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>الشقيق التالي: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }
مثال 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_previoussibling(n) { var x = n.previousSibling; while (x.nodeType != 1) { x = x.previousSibling; } return x; } function myFunction(xml) { var xmlDoc = xml.responseXML; var x = xmlDoc.getElementsByTagName("author")[0]; var y = get_previoussibling(x); document.getElementById("demo").innerHTML = x.nodeName + " = " + x.childNodes[0].nodeValue + "<br>اخوة سابقون: " + y.nodeName + " = " + y.childNodes[0].nodeValue; }