خاصية XML DOM السابقة للأشقاء
❮ عنصر الكائن
مثال
يقوم جزء الكود التالي بتحميل " books.xml " في xmlDoc ويحصل على العقدة الشقيقة السابقة من <author> العنصر الأول:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "books.xml", true);
xhttp.send();
//
Check if the previous sibling node is an element node
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>Previous sibling: " + y.nodeName + " = " +
y.childNodes[0].nodeValue;
}
ناتج الكود أعلاه سيكون:
author = Giada De Laurentiis
Previous sibling: title = Everyday Italian
التعريف والاستخدام
تُرجع خاصية Sibling السابقة العقدة الشقيقة السابقة (العقدة السابقة في نفس مستوى الشجرة) للعنصر المحدد
إذا لم يكن هناك مثل هذه العقدة ، فإن هذه الخاصية ترجع خالية.
بناء الجملة
elementNode.previousSibling
نصائح وملاحظات
ملاحظة: سوف يتعامل Firefox ومعظم المتصفحات الأخرى مع المسافات البيضاء الفارغة أو الأسطر الجديدة كعقد نصية ، بينما لن يتعامل Internet Explorer. لذلك ، في المثال أدناه ، لدينا وظيفة تتحقق من نوع العقدة للعقدة الشقيقة السابقة.
تحتوي عُقد العناصر على عقدة من النوع 1 ، لذلك إذا لم تكن العقدة الشقيقة السابقة عقدة عنصر ، فإنها تنتقل إلى العقدة السابقة وتتحقق مما إذا كانت هذه العقدة هي عقدة عنصر. يستمر هذا حتى يتم العثور على العقدة الشقيقة السابقة (والتي يجب أن تكون عقدة عنصر). بهذه الطريقة ستكون النتيجة صحيحة في جميع المتصفحات.
نصيحة: لقراءة المزيد حول الاختلافات بين المتصفحات ، تفضل بزيارة فصل متصفحات DOM في برنامج XML DOM التعليمي.
جرب بنفسك العروض التوضيحية
❮ عنصر الكائن