XML DOM cloneNode() -metodi

Node-objektin viittausopas

Määrittely ja käyttö

cloneNode() -metodi voi luoda määritetyn solmun tarkan kopioksi.

Tämä metodi voi palauttaa kopioidun solmun.

Syntaksi:

nodeObject.cloneNode(include_all)
Parametri Kuvaus
include_all Välttämätön. Jos looginen parametri asetetaan totiseksi, kloonatut solmut kloonaa alkuperäisen solmun kaikki lapsisolmut.

Palautusarvo

Nykyisen solmun kopiointi.

Selitys

Tämä metodi kopioidaan ja palauttaa kutsuvan solmun kopioksi. Jos sille annettu parametri on true, se kopioidaan myös rekursiivisesti nykyisen solmun kaikki jälkeläissolmut. Muussa tapauksessa se kopioidaan vain nykyinen solmu.

Palautettu solmu ei kuulu dokumenttipuuhun, sen parentNode-ominaisuus on null.

Kun kopioitava on Element-elementti, kaikki sen ominaisuudet kopioidaan. On kuitenkin huomattava, että nykyisessä solmussa rekisteröidyt tapahtumankuuntelijafunktiot eivät kopioidu.

Esimerkki

Kaikissa esimerkeissä käytämme XML-tiedostoa books.xml, ja JavaScript-funktiot loadXMLDoc().

Seuraava koodinpätkä voi kloonaus ensimmäisen <book>-solmun ja lisätä sen solmujen luetteloon loppuun:

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

Tulostus:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML
Everyday Italian

Node-objektin viittausopas