روش 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