XML DOM appendChild() metod

Node objekt referenshandbok

Definition och användning

appendChild() metoden kan lägga till en ny undernod till slutet av en nod:s undernoder.

Denna metod kan returnera den nya undernoden.

Syntaks:

appendChild(newchild)
Parameter Beskrivning
newchild Den tillagda noden

Returvärde

Tillagda noder.

Beskrivning

Denna metod lägger till noden newchild till dokumentet, så att den blir den sista undernoden till den aktuella noden.

Om newchild redan finns i dokumentträdet tas den bort från dokumentträdet och sätts in på ny plats. Om newchild är en DocumentFragment-nod infogas den inte direkt, utan dess undernoder infogas i slutet av currentNode:s childNodes[]-array.

Observera att en nod från en dokument (eller en nod som skapats av ett dokument) inte kan infogas i ett annat dokument. Detta innebär att newchild:s ownerDocument-attribut måste vara samma som den aktuella nodens ownerDocument-attribut.

Exempel

Följande funktion lägger till en ny paragraf i dokumentets slut:

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

exempel

I alla exempel kommer vi att använda XML-filen books.xmloch JavaScript-funktionen loadXMLDoc()

Följande kodfragment kan skapa och lägga till en nod till den första <book>-elementet och sedan skriva ut alla undernoder till den första <book>-elementet:

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++)
  { 
  //Visa endast elementnoder
  if (y[i].nodeType==1)
    { 
    document.write(y[i].nodeName);
    document.write("<br />");
    } 
  }

Uttalande:

title
author
year
price
edition

Kommentar:Internet Explorer ignorerar tomma textnoder mellan noder (t.ex. nyckeltecken), medan Mozilla inte gör detta. Därför hanterar vi endast elementnoder (där nodeType=1) i följande exempel.

Tips:För mer information om skillnaderna mellan XML DOM i IE och Mozilla webbläsare, besök vår DOM webbläsare Kapitel.

Node objekt referenshandbok