Skip to content

Latest commit

 

History

History
36 lines (26 loc) · 2.95 KB

clone-and-other.md

File metadata and controls

36 lines (26 loc) · 2.95 KB

Клонирование и удаление

Пока вокруг клонирования ведутся дискуссии, у программистов всё уже на конвейере :)

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

Мало того, если у вас там были обработчики событий, то их также можно клонировать, достаточно лишь выставить первый аргумент в true:

$("h1").click(() => alert("h1!"))

// клон без обработчиков событий
$("h1").clone()

// клон с обработчиком событий
$("h1").clone(true)
методописание
clone()
клонирует выбранные элементы, для дальнейшей вставки копий назад в DOM
clone(
  withDataAndEvents = true
)
клонирует выбранные элементы, вместе с текущими обработчиками событий и данными data()
clone(
  withDataAndEvents = true,
  deepWithDataAndEvents = true
)
клонирует также обработчики событий и данные дочерних элементов

Кроме клонирования, вы можете изъять из DOM любой элемент, чтобы изменить и вставить назад, или вправе даже удалить его:

методописание
detach()
изымает элемент из DOM, но при этом сохраняет все данные о нём в jQuery; следует использовать, если надо лишь временно удалить элемент
empty()
удаляет текст и дочерние DOM-элементы
remove()
насовсем удаляет элемент из DOM

{% embed url="https://anton.shevchuk.name/book/code/dom.clone-and-other.html" %}