مетод appendChild() XML DOM

دستورالعمل مرجع Node

تعریف و استفاده

تابع 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 فصل‌ها.

دستورالعمل مرجع Node