Metodo appendChild() del DOM XML

Manuale di riferimento dell'oggetto Node

Definizione e uso

Il metodo appendChild() può aggiungere un nuovo nodo figlio alla lista dei nodi figli del nodo.

Questo metodo può restituire questo nuovo nodo figlio.

Sintassi:

appendChild(newchild)
Parametro Descrizione
newchild Nodo aggiunto

Valore di ritorno

Nodo aggiunto

Descrizione

Questa metodo aggiunge il nodo newchild al documento, rendendolo l'ultimo figlio del nodo corrente.

Se newchild è già presente nel albero del documento, verrà rimosso dall'albero del documento e reinserito nel suo nuovo posizionamento. Se newchild è un nodo DocumentFragment, non verrà inserito direttamente, ma i suoi nodi figli saranno inseriti nell'ordine nell'array childNodes[] del nodo corrente.

Attenzione, un nodo proveniente da un documento (o creato da un documento) non può essere inserito in un altro documento. Questo significa che l'attributo ownerDocument di newchild deve essere lo stesso dell'attributo ownerDocument del nodo corrente.

Esempio

La seguente funzione inserirà una nuova sezione alla fine del documento:

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

Esempio

In tutti gli esempi, utilizzeremo il file XML books.xmle la funzione JavaScript loadXMLDoc()

Il seguente frammento di codice può creare e aggiungere un nodo alla prima elemento <book>, quindi esportare tutti i nodi figli dell'elemento <book> iniziale:

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

Output:

titolo
autore
anno
prezzo
edizione

Nota:Internet Explorer ignora i nodi di testo vuoti generati tra i nodi (ad esempio, i simboli di nuova riga), mentre Mozilla non lo fa. Pertanto, negli esempi seguenti, trattiamo solo i nodi elementi (nodeType=1).

Suggerimento:Per ulteriori informazioni sulle differenze tra XML DOM di IE e Mozilla, visita il nostro Browser DOM Capitoli.

Manuale di riferimento dell'oggetto Node