Metoda cloneNode

Metoda cloneNode omogoča kloniranje elementa in pridobivanje njegove natančne kopije. To kopijo lahko nato vstavite na stran z uporabo metod prepend, append, appendChild, insertBefore ali insertAdjacentElement.

Kot parameter metoda prejme true ali false. Če je podan true, se element klonira v celoti, z vsemi atributi in podrejenimi elementi, če pa je false - samo sam element (brez podrejenih elementov).

Sintaksa

javascriptelement.cloneNode(true ali false);

Primer

Naredimo kopijo bloka z razredom elem in ga vstavimo na konec bloka #parent:

html<div id="parent">
  <div class="elem">
    <p>text1</p>
    <p>text2</p>
  </div>
</div>
javascriptlet parent = document.getElementById('parent');
let elem = parent.querySelector('.elem');

let clone = elem.cloneNode(true);
parent.appendChild(clone);

Rezultat izvajanja kode:

html<div id="parent">
  <div class="elem">
    <p>text1</p>
    <p>text2</p>
  </div>
  <div class="elem">
    <p>text1</p>
    <p>text2</p>
  </div>
</div>

Primer

Z dobljenim klonom lahko delujete kot z navadnim elementom:

html<div id="parent">
  <div class="elem">
    <p>text1</p>
    <p>text2</p>
  </div>
</div>
javascriptlet parent = document.getElementById('parent');
let elem = parent.querySelector('.elem');

let clone = elem.cloneNode(true);
clone.children[0].textContent = 'new text1';
clone.children[1].textContent = 'new text2';

parent.appendChild(clone);

Rezultat izvajanja kode:

html<div id="parent">
  <div class="elem">
    <p>text1</p>
    <p>text2</p>
  </div>
  <div class="elem">
    <p>new text1</p>
    <p>new text2</p>
  </div>
</div>

Glejte tudi

  • metoda createElement,
    ki se uporablja za ustvarjanje novega elementa