Dom7 — это легковесная библиотека, предназначенная для работы с DOM в стиле jQuery. Она предоставляет удобный API для выбора элементов, управления их содержимым, атрибутами, событиями и перемещением в дереве DOM. Раздел перемещения элементов охватывает методы вставки, удаления и замены узлов, что позволяет динамически изменять структуру страницы без прямого взаимодействия с нативным DOM API.
Все операции перемещения начинаются с выбора элементов через функцию
$:
const items = $('.item'); // выбирает все элементы с классом 'item'
Dom7 возвращает коллекцию элементов, которая поддерживает цепочки вызовов. Любой метод перемещения применяется к каждому элементу в наборе.
append()Метод append() добавляет содержимое в конец выбранных
элементов.
$('.container').append('<div class="new-item">Новый элемент</div>');
Особенности:
Пример с существующим элементом:
const item = $('.item-to-move');
$('.container').append(item);
В этом случае элемент item перемещается из старого
контейнера в новый.
prepend()Метод prepend() вставляет содержимое в начало выбранного
элемента:
$('.container').prepend('<span>Первый элемент</span>');
Использование аналогично append(), только вставка
происходит в начало родителя.
before()Добавляет элемент перед выбранными узлами:
$('.item').before('<div class="before-item">Перед элементом</div>');
after()Добавляет элемент после выбранных узлов:
$('.item').after('<div class="after-item">После элемента</div>');
Dom7 позволяет не только вставлять новые элементы, но и перемещать уже существующие. Любой DOM-элемент автоматически удаляется из старого контейнера при вставке в новый.
const movingItem = $('.item-to-move');
$('.target-container').append(movingItem);
Преимущество Dom7 — возможность легко перемещать несколько элементов одновременно:
$('.item-to-move').appendTo('.target-container');
Метод appendTo() является синонимом цепочки
$(target).append(element) и делает код более читаемым.
replaceWith()Метод заменяет выбранные элементы на новый узел:
$('.old-item').replaceWith('<div class="new-item">Новый элемент</div>');
replaceAll()Метод вставляет текущие элементы на место других узлов:
$('.new-item').replaceAll('.old-item');
Эффективно для массовой замены нескольких элементов одним или несколькими новыми.
remove()Удаляет выбранные элементы из DOM:
$('.item-to-delete').remove();
Для сохранения структуры при перемещении полезно использовать метод
clone():
const clonedItem = $('.item').clone();
$('.container').append(clonedItem);
clone() поддерживает передачу булевого параметра
true, чтобы скопировать и события:
clone(true).Dom7 предоставляет методы для поиска и перемещения относительно родителя или потомков:
appendTo(target) и prependTo(target) —
вставка текущего набора в целевой элемент.wrap(wrapper) — оборачивает каждый выбранный элемент в
новый контейнер.unwrap() — удаляет родительский элемент выбранных
узлов, оставляя их на месте.Пример:
$('.item').wrap('<div class="wrapper"></div>');
Каждый элемент .item будет помещен внутрь отдельного
.wrapper.
Все методы перемещения поддерживают цепочки:
$('.item')
.prepend('<span>Начало</span>')
.append('<span>Конец</span>')
.wrap('<div class="wrapper"></div>');
clone().append(), prepend(),
before(), after() предпочтительнее прямого
обращения к innerHTML при динамическом изменении структуры
страницы.append(),
prepend(), before(),
after().replaceWith() и
replaceAll().appendTo() и prependTo().clone(true) при
необходимости сохранения событий.Эти инструменты Dom7 обеспечивают эффективное управление DOM, упрощают динамическое построение интерфейсов и минимизируют ошибки при манипуляциях с узлами.