Metoda XML DOM cloneNode()

Podręcznik obiektu Node

Definicja i użycie

Metoda cloneNode() może tworzyć dokładną kopię określonego węzła.

Ta metoda może zwrócić skopiowany węzeł.

Gramatyka:

nodeObject.cloneNode(include_all)
Parametr Opis
include_all Wymagane. Jeśli logiczny parametr jest ustawiony na true, klonowany węzeł będzie klonował wszystkie podwęzły oryginalnego węzła.

Zwracana wartość

Kopia bieżącego węzła.

Opis

Ta metoda kopiuje i zwraca kopię węzła, który ją wywołał. Jeśli przekazany do niej parametr wynosi true, kopiowane będą również wszystkie potomki bieżącego węzła. W przeciwnym razie kopiowany będzie tylko bieżący węzeł.

Zwracany węzeł nie należy do drzewa dokumentu, jego właściwość parentNode wynosi null.

Gdy kopiowany jest węzeł Element, wszystkie jego atrybuty będą kopiowane. Ale uwaga, funkcje słuchaczy zdarzeń zarejestrowane na bieżącym węźle nie będą kopiowane.

Przykład

W wszystkich przykładach użyjemy pliku XML books.xml, oraz funkcje JavaScript loadXMLDoc().

Poniższy fragment kodu może sklonować pierwszy węzeł <book>, a następnie dodać go do końca listy węzłów:

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

Wynik:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Podręcznik obiektu Node