أسلوب insertBefore() في XML DOM

دليل مرجعي لموضوع Node

التعريف والاستخدام

يمكن استخدام أسلوب insertBefore() ل插入 عقدة جديدة قبل عقدة ابنة موجودة.

يمكن لهذا الأسلوب العودة إلى العقدة الابنة الجديدة.

النحو:

insertBefore(newchild,refchild)
الم参数 الوصف
newchild إدراج عقدة جديدة
refchild إدراج عقدة جديدة قبل هذه العقدة

النصائح والملاحظات

ملاحظة:سيقوم Internet Explorer بتخطي النصوص الفارغة المولدة بين العناصر (مثل، رمز النسخة الجديدة)، بينما لن يفعل ذلك Mozilla. لذلك، سنستخدم في الأمثلة التالية دالة لتحقق من نوع العنصر للعنصر الأخير.

نوع العنصر للعنصر هو 1، لذا إذا لم يكن العنصر الأول هو عنصر، فإنه سيقوم بالانتقال إلى العنصر التالي، ثم يستمر في التحقق مما إذا كان العنصر هو عنصر. وسيستمر هذا العمل حتى يتم العثور على العنصر الأول. من خلال هذا الأسلوب، يمكننا الحصول على الطريقة الصحيحة في Internet Explorer و Mozilla.

نصيحة:للحصول على معلومات أكثر حول الفروق بين XML DOM بين متصفحات IE و Mozilla، يرجى زيارة DOM متصفح الويب المحتويات.

مثال

في جميع الأمثلة، سنستخدم ملفات XML books.xml، وكذلك وظائف JavaScript loadXMLDoc()

يمكن للنص أدناه إنشاء عنصر جديد <book> ويقوم بإدراجه قبل العنصر الأخير من <book> في المستند:

//تحقق مما إذا كان العنصر الأخير هو عنصر عنصر
function get_lastchild(n)
{
var x=n.lastChild;
while (x.nodeType!=1)
{
x=x.previousSibling;
}
return x;
}
xmlDoc=loadXMLDoc("books.xml");
var newNode=xmlDoc.createElement("book");
var newTitle=xmlDoc.createElement("title");
var newText=xmlDoc.createTextNode("A Notebook");
newTitle.appendChild(newText);
newNode.appendChild(newTitle);
xmlDoc.documentElement.insertBefore(newNode,get_lastchild(x));

دليل مرجعي لموضوع Node