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