detach()

Метод detach() удаляет из DOM-дерева все элементы выборки, но сами объекты из памяти не удаляются, поэтому их можно восстановить. Данный метод не удаляет никакие данные об элементах. Если после удаления нет необходимости восстанавливать элементы, тогда лучше использовать метод remove() для очистки памяти.

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

jQ_object.detach() => jQuery
Удаляет из DOM-дерева все элементы выборки.
jQ_object.detach(селектор) => jQuery
Удаляет из DOM-дерева те элементы выборки, которые удовлетворяют указанному селектору.

Примеры

<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).detach();
/* Удалён параграф из документа */
$('body').append(par);
/* Восстановлен параграф со всеми свойствами и обработчиками */
</script>

Параграф