مетод appendChild() XML DOM
تعریف و استفاده
تابع appendChild() میتواند یک نود جدید زیرنود به انتهای لیست زیرنودهای یک نود اضافه کند.
این روش میتواند این نود جدید زیرنود را بازگرداند.
نحوه استفاده
appendChild(newchild)
پارامتر | توضیح |
---|---|
newchild | گرهای که اضافه شده است |
بازگشتی
گرههای اضافه شده
توضیح
این روش گره newchild را به مستند اضافه میکند و آن را به آخرین زیرنود فعلی تبدیل میکند.
اگر newchild در ساختار درختی مستند موجود باشد، از ساختار درختی مستند حذف شده و در مکان جدیدی مجدداً اضافه میشود. اگر newchild یک گره DocumentFragment باشد، مستقیماً به آن اضافه نمیشود، بلکه زیر نودهای آن به ترتیب به انتهای array childNodes[] فعلی اضافه میشوند.
توجه داشته باشید که یک گره از یک مستند (یا گرهای که توسط یک مستند ایجاد شده است) نمیتواند به مستند دیگری اضافه شود. به عبارت دیگر، باید attribute ownerDocument newchild با attribute ownerDocument فعلی node مشابه باشد.
مثال
تابعی زیر یک بخش جدید را در انتهای مستند میافزاید:
function appendMessage (message) { var pElement = document.createElement("p"); var messageNode = document.createTextNode(message);pElement.appendChild(messageNode);
document.body.appendChild(pElement);
}
مثال
در تمام مثالها، از فایل XML استفاده خواهیم کرد books.xml، و تابع جاوااسکریپت loadXMLDoc()。
کد زیر میتواند یک نقطه داده ایجاد کند و به اولین علامت <book> اضافه کند، سپس تمام زیر علامتهای اولین <book> را خروجی دهد:
xmlDoc=loadXMLDoc("books.xml");
var newel=xmlDoc.createElement('edition');
var newtext=xmlDoc.createTextNode('First');
newel.appendChild(newtext);
var x=xmlDoc.getElementsByTagName('book')[0];
x.appendChild(newel);
;
var y=x.childNodes;
for (var i=0;i<y.length;i++)
{
//نودهای عناصر فقط نمایش داده میشوند
if (y[i].nodeType==1)
{
document.write(y[i].nodeName);
document.write("<br />");
}
}
خروجی:
title author year price edition
توضیح:Internet Explorer نودهای خالی بین نودها را (مثلاً نشانههای خط جدید) نادیده میگیرد، در حالی که Mozilla این کار را نمیکند. بنابراین، در مثال زیر، ما فقط از نودهای عناصر استفاده میکنیم (nodeType=1).
توجه:برای اطلاعات بیشتر در مورد تفاوتهای XML DOM بین مرورگرهای IE و Mozilla، لطفاً به مرورگر DOM فصلها.