Metodo cloneNode() di XML DOM
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