XML DOM cloneNode() metod

Node-objektsreferenshandbok

Definition och användning

cloneNode() metoden kan skapa en exakt kopia av den angivna noden.

Denna metod kan returnera den kopierade noden.

Syntaks:

nodeObject.cloneNode(include_all)
Parameter Beskrivning
include_all Obligatoriskt. Om den logiska parametern är satt till sant, kommer den klonade noden att klona alla barnnoder till den ursprungliga noden.

Returvärdet

Kopian av den aktuella noden.

Förklaring

Denna metod kopierar och returnerar en kopia av den nod som anropar den. Om den parameter som överförs till den är true, kommer den också att rekursivt kopiera alla barnnoder till den aktuella noden. Annars kopieras bara den aktuella noden.

Den returnerade noden tillhör inte dokumentträdet, dess parentNode-attribut är null.

När det kopieras en Element-nod, kommer alla dess egenskaper att kopieras. Men notera att de eventuella lyssnare som är registrerade på den aktuella noden inte kommer att kopieras.

Exempel

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

Följande kodsnutt kan klona den första <book>-noden och lägga till den i slutet av nodlistan:

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 />");
  }

Uttag:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Node-objektsreferenshandbok