XML DOM appendChild() metode
Definition og brug
appendChild() metoden kan tilføje en ny undernode til listen over undernodes for en node.
Denne metode kan returnere den nye undernode.
Syntaks:
appendChild(newchild)
Parameter | Beskrivelse |
---|---|
newchild | Tilføjede node |
Returværdi
Tilføjede node.
Beskrivelse
Denne metode tilføjer node newchild til dokumentet, så den bliver den sidste undernode til den nuværende node.
Hvis newchild allerede findes i dokumenttræet, vil den blive fjernet fra dokumenttræet og derefter genindsat i sin nye placering. Hvis newchild er en DocumentFragment-node, vil den ikke blive indsat direkte, men dens undernoder vil blive indsat i slutningen af currentNode's childNodes[]-array.
Bemærk, at en node fra en dokument (eller en node oprettet af et dokument) ikke kan indsættes i et andet dokument. Det vil sige, at newchild's ownerDocument-attribut skal være den samme som den nuværende nodes ownerDocument-attribut.
Eksempel
Følgende funktion vil indsætte en ny afsnit i dokumentets bund:
function appendMessage (message) { var pElement = document.createElement("p"); var messageNode = document.createTextNode(message);pElement.appendChild(messageNode);
document.body.appendChild(pElement);
}
eksempel
I alle eksempler vil vi bruge XML-filen books.xmlog JavaScript-funktionen loadXMLDoc()。
Nedenstående kodefragment kan oprette og tilføje en node til den første <book>-element, og derefter outputte alle undernoderne til den første <book>-element:
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++)
{
//Vis kun elementknuder
if (y[i].nodeType==1)
{
document.write(y[i].nodeName);
document.write("<br />");
}
}
Output:
title author year price edition
Kommentar:Internet Explorer ignorerer tomme tekstknuder mellem noder (f.eks. linjeskifts tegn), mens Mozilla gør det ikke. Derfor behandler vi kun elementknuder (nodeType=1) i de følgende eksempler.
Tip:For mere information om forskelle mellem IE og Mozillas XML DOM, besøg vores DOM browser Kapitel.