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.