Metodo cloneNode() di XML DOM

Manuale di riferimento dell'oggetto Node

Definizione e uso

Il metodo cloneNode() può creare una copia esatta del nodo specificato.

Questo metodo può restituire il nodo copiato.

Sintassi:

nodeObject.cloneNode(include_all)
Parametro Descrizione
include_all Obbligatorio. Se il parametro logico è impostato su true, il nodo clonato clonerà tutti i figli del nodo originale.

Valore di ritorno

Copia del nodo corrente.

Spiegazione

Questo metodo copia e restituisce una copia del nodo sul quale viene chiamato. Se il parametro passato è true, copierà anche ricorsivamente tutti i figli del nodo corrente. Altrimenti, copierà solo il nodo corrente.

Il nodo restituito non appartiene al albero del documento, il suo attributo parentNode è null.

Quando si copia un nodo Elemento, tutte le sue proprietà vengono copiate. Tuttavia, è importante notare che le funzioni di ascolto degli eventi registrate sul nodo corrente non vengono copiate.

Esempio

In tutti gli esempi, utilizzeremo il file XML books.xml, e le funzioni JavaScript loadXMLDoc().

Il seguente frammento di codice può clonare il primo nodo <book> e aggiungerlo alla fine della lista dei nodi:

xmlDoc=loadXMLDoc("books.xml");
var x=xmlDoc.getElementsByTagName('book')[0];
var cloneNode=x.cloneNode(true);
xmlDoc.documentElement.appendChild(cloneNode);
//Output all titles
var y=xmlDoc.getElementsByTagName("title");
for (i=0;i<y.length;i++)
  {
  document.write(y[i].childNodes[0].nodeValue);
  document.write("<br />");
  }

Output:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Manuale di riferimento dell'oggetto Node