clone()
60
посл. ред.
12.08.2016
Метод 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>
Параграф