clone()

Метод clone() возвращает копию всех элементов выборки в виде нового jQuery-объекта. Все вложенные элементы, если они имеются, тоже будут скопированы (полное клонирование). Данный метод может принимать один или два булевых аргумента, указывающих необходимость копирования обработчиков событий, установленных на элементах, и некоторых других jQuery-данных.

  • Первый аргумент устанавливает необходимость копирования обработчиков событий и других jQuery-данных на самих элементах текущей выборки. По умолчанию равен false.
  • Второй аргумент устанавливает необходимость копирования обработчиков событий и других jQuery-данных на вложенных элементах. По умолчанию равен значению первого аргумента.

Варианты использования

jQ_object.clone() => jQuery
Возвращает копию всех элементов выборки. Обработчики событий и данные не копируются.
jQ_object.clone(true) => jQuery
Возвращает копию всех элементов выборки. Обработчики событий и данные копируются для всех элементов.
jQ_object.clone(true, false) => jQuery
Возвращает копию всех элементов выборки. Копируются обработчики событий и данные только текущих элементов выборки.
jQ_object.clone(false, true) => jQuery
Возвращает копию всех элементов выборки. Копируются обработчики событий и данные только вложенных элементов.

Примеры

<html>
<head>
  <title>Работа с элементами DOM</title>
  <script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
  <p>Параграф</p>
</body>
</html>
 
<script>
var par = document.body.firstElementChild;
 
par.addEventListener('click', function () {
  alert('Обработчик события из JavaScript')
});
/* Установлен обработчик события напрямую из JavaScript */
$(par).css('background', 'red');
/* Добавлено CSS-свойство из jQuery */
$(par).click(function () {
  alert('Обработчик события из jQuery')
});
/* Установлен обработчик события из jQuery */
$(par)
  .clone(true)
/* Клонирован параграф со всеми обработчиками, установленными из jQuery */
  .appendTo('body');
/* Вставлен новый параграф в документ */
$(par).remove();
/* Удалён старый параграф из документа */
</script>

Параграф