XML DOM cloneNode() Methode

Node-Objekt-Referenzhandbuch

Definition und Verwendung

Die cloneNode()-Methode kann eine genaue Kopie des angegebenen Knotens erstellen.

Diese Methode kann den kopierten Knoten zurückgeben.

Syntax:

nodeObject.cloneNode(include_all)
Parameter Beschreibung
include_all Erforderlich. Wenn der logische Parameter auf wahr gesetzt ist, werden alle Unter Nodes des Originalknotens vom geklonten Knoten geklont.

Rückgabewert

Kopie des aktuellen Knotens.

Erklärung

Diese Methode kopiert und gibt eine Kopie des Knotens zurück, den sie aufgerufen hat. Wenn sie den Parameter true übergeben, kopiert sie auch alle Nachkommenknoten des aktuellen Knotens rekursiv. Andernfalls kopiert sie nur den aktuellen Knoten.

Das zurückgegebene Knoten gehört nicht zum Dokumentbaum, und sein parentNode-Attribut ist null.

Wenn ein Element-Knoten kopiert wird, werden alle Attribute mit kopiert. Allerdings werden die auf dem aktuellen Knoten registrierten Event-Listener-Funktionen nicht kopiert.

Beispiel

In allen Beispielen verwenden wir die XML-Datei books.xml, sowie die JavaScript-Funktion loadXMLDoc().

Der folgende Codeabschnitt kann den ersten <book>-Knoten klonen und ihn am Ende der Knotenliste hinzufügen:

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

Ausgabe:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Node-Objekt-Referenzhandbuch