XML DOM appendChild() method

Руководство по объекту Node

Paglalarawan at Paggamit

Ang appendChild() method ay maaaring idagdag ang isang bagong anak na node sa listahan ng mga anak ng node.

Ang paraan na ito ay maaaring ibalik ang bagong anak na node.

Mga taglayin

appendChild(newchild)
Parametro Paglalarawan
newchild Ang idinadagdag na node

Halimbawa ng bunga

Ang idinadagdag na node.

Paglalarawan

Ang paraan na ito ay magdadagdag ng node na newchild sa dokumento, na gawing huling anak ng kasalukuyang node.

Kung ang newchild ay umiiral na sa punong kahoy ng dokumento, ito ay aalis mula sa punong kahoy ng dokumento at muling idagdag sa bagong posisyon. Kung ang newchild ay DocumentFragment na node, hindi ito direktang idadagdag, kundi ang mga anak nito ay dadagdagan sa katapusan ng childNodes[] array ng kasalukuyang node.

Bilang paglapit, ang mga node na mula sa isang dokumento (o na nilikha ng isang dokumento) ay hindi puwedeng idagdag sa ibang dokumento. Ang ibig sabihin, ang attribute na ownerDocument ng newchild ay dapat magkapareho sa attribute na ownerDocument ng kasalukuyang node.

Mga halimbawa

Ang function na ito ay magdagdag ng isang bagong paragrap sa katapusan ng dokumento:

function appendMessage (message) {
  var pElement = document.createElement("p");
  var messageNode = document.createTextNode(message);
  pElement.appendChild(messageNode);
  document.body.appendChild(pElement);
}

Mga halimbawa

Sa lahat ng mga halimbawa, gamit namin ang XML file books.xmlat ang JavaScript function loadXMLDoc()

Ang bahagi ng kodigo na ito ay maaaring lumikha at idagdag ng isang node sa unang <book> elemento, at magpalabas ng lahat ng mga anak ng unang <book> elemento:

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