Metoda appendChild() DOM XML

Podręcznik referencyjny obiektu Node

Definicja i użycie

Metoda appendChild() może dodać nowy podwęzeł do końca listy podwęzłów węzła.

Ta metoda może zwrócić nowy podwęzeł.

Gramatyka:

appendChild(newchild)
Parametr Opis
newchild Dodany węzeł

Zwracana wartość

Dodany węzeł.

Opis

Ta metoda doda węzeł newchild do dokumentu, uczyni go ostatnim podwęzłem bieżącego węzła.

Jeśli newchild już istnieje w drzewie dokumentu, zostanie on usunięty z drzewa dokumentu i ponownie wstawiony w nowe miejsce. Jeśli newchild jest węzłem DocumentFragment, nie zostanie on bezpośrednio wstawiony, ale jego podwęzły zostaną wstawione w końcu tablicy childNodes[] bieżącego węzła.

Uwaga, węzeł z jednego dokumentu (lub utworzony przez jeden dokument) nie można wstawić do innego dokumentu. Innymi słowy, atrybut ownerDocument newchild musi być taki sam jak atrybut ownerDocument bieżącego węzła.

Przykład

Poniższa funkcja wstawia nowy paragraf na końcu dokumentu:

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

Przykład

W wszystkich przykładach użyjemy pliku XML books.xmli funkcję JavaScript loadXMLDoc()

Poniżej znajduje się fragment kodu, który tworzy i dodaje węzeł do pierwszego elementu <book>, a następnie wyświetla wszystkie podwęzły pierwszego elementu <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++)
  { 
  //Wyświetl tylko węzły elementowe
  if (y[i].nodeType==1)
    { 
    document.write(y[i].nodeName);
    document.write("<br />");
    } 
  }

Wyjście:

title
author
year
price
edition

Komentarz:Internet Explorer ignoruje puste węzły tekstowe między węzłami (np. znaki nowej linii), podczas gdy Mozilla nie robi tego. Dlatego w poniższym przykładzie przetwarzamy tylko węzły elementowe (nodeType=1).

Wskazówka:Dla więcej informacji na temat różnic między XML DOM w przeglądarkach IE i Mozilla, odwiedź naszą Przeglądarka DOM Rozdziały.

Podręcznik referencyjny obiektu Node