Обычно любые обработчики событий, связанные с исходным элементом, не копируются в клон.Необязательный параметр withDataAndEvents позволяет нам изменить это поведение и вместо этого создавать копии всех обработчиков событий, связанных с новой копией элемента.Начиная с jQuery 1.4, все данные элемента (присоединенные методом .data ()) также копируются в новую копию.
Однако объекты и массивы в данных элемента не копируются и будут совместно использоватьсяклонированный элемент и оригинальный элемент.Чтобы глубоко копировать все данные, скопируйте каждый вручную:
var $elem = $('#elem').data( "arr": [ 1 ] ), // Original element with attached data
$clone = $elem.clone( true )
.data( "arr", $.extend( [], $elem.data("arr") ) ); // Deep copy to prevent data sharing
Начиная с jQuery 1.5, withDataAndEvents может быть дополнительно улучшен с помощью deepWithDataAndEvents для копирования событий и данных для всех дочерних элементов клонированногоelement.
Источник: http://api.jquery.com/clone/
Я полагаю, вы ищете приведенный выше код, который фактически копирует данные, связанные с элементом, а не разделяет данные между элементами.
Обновление
После нескольких минут работы с этим вот что я придумал:
//create original datepicker
var $input = $("input").datepicker(),
//clone the datepicker, copy the data from the original, and change the ID of the new element
$clone = $input.clone(true).data( "datepicker", $.extend( true, {}, $input.data("datepicker") ) ).attr('id', 'test-id');
//now change the references in the data for the clone to point to the clone
$clone.data('datepicker').input = $clone;
$clone.data('datepicker').id = 'test-id';
//add the clone to the DOM
$("body").append("<br><br><br>Input 2: ").append(
$clone
);
И демо: http://jsfiddle.net/YUkZw/5/