Metoda appendChild() DOM XML
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.