Il metodo clone()
di jQuery è un'implementazione cross-browser del metodo cloneNode()
del DOM. Di fatto questo metodo clona un'intera struttura DOM che può essere in seguito riutilizzata in altre parti del documento. Vediamone insieme i dettagli.
Supponiamo di avere questa struttura:
<ul id="test">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
Per clonarla possiamo scrivere:
var copy = $('#test').clone();
Ora copy
contiene l'intera struttura memorizzata come un oggetto jQuery. Per poterla riutilizzare dobbiamo usare il wrapper di jQuery:
$(copy).prependTo('#title');
Possiamo addirittura manipolare la nostra copia prima di reinserirla nel DOM:
$(copy).addClass('copy').prependTo('#title');
clone()
accetta come parametro un valore booleano. true
clona l'oggetto con tutti i suoi eventi, mentre false
clona solo l'oggetto. Il valore predefinito è false
.