In jQuery, .clone() is used to create a copy of selected elements. The optional parameter true makes a deep clone including events and data.
1. Basic .clone()
var copy = $('#myDiv').clone();
2. .clone(true) — Deep Cloning
var copyWithEvents = $('#myDiv').clone(true);
3. Example
<div id="original">Click me</div>
// Add a click handler
$('#original').on('click', function() {
alert('Original clicked!');
});
// Shallow clone (events not copied)
var shallowClone = $('#original').clone();
$('body').append(shallowClone);
// Deep clone (events copied)
var deepClone = $('#original').clone(true);
$('body').append(deepClone);
Key Notes
-
.clone(true) only clones events and data attached via jQuery, not native DOM properties like checked states or custom JavaScript properties.
-
For nested elements, true ensures that child elements and their events are also cloned.