Справочник API

.insertBefore() в jQuery

Содержание статьи
  • Категории: Manipulation › DOM Insertion, Outside

    Перемещает элементы набора jQuery, вставляя их перед элементами, определяемыми с помощью входного параметра.

Синтаксис и описание:

  • Добавлено в jQuery 1.0.insertBefore( target )

  • Метод .insertBefore() вставляет каждый элемент набора jQuery перед указанной целью target. По записи он противоположен методу .before(): у .before() первым указывается то, что остаётся на месте, а вставляемое содержимое передаётся аргументом; у .insertBefore() наоборот — набор, который перемещается, стоит перед вызовом метода, а цель передаётся аргументом. Итоговый DOM в обоих случаях получается одинаковым.

    target может быть селектором, HTML-строкой, DOM-элементом, массивом элементов или объектом jQuery.

Возвращаемое значение: (объект) Набор jQuery — исходные (перемещённые) или клонированные элементы на новом месте.

Параметры:

  • target – (строка | элемент | массив | объект jQuery) место, перед которым вставляются элементы набора.

  1. Примечание:

    Если target соответствует одному месту в документе, элементы набора физически перемещаются туда, а не клонируются, — если элемент уже был где-то в DOM, оттуда он исчезнет.

  2. Примечание:

    Если target соответствует нескольким элементам, перед последним из них вставляется сам оригинал, а перед остальными — его клоны (как .clone(true), вместе с данными и обработчиками); возвращённый набор включает оригинал и все клоны.

  3. В jQuery 3.x и 4.0:

    Метод не менялся, работает без изменений в 3.7.1 и 4.0. Нативный аналог для одной цели — target.before(node) (Element.before(), поддерживается всеми современными браузерами), но он не клонирует узел автоматически при нескольких целях — это придётся делать вручную через node.cloneNode(true).

Примеры:

  1. Переместить существующий блок сразу перед подвалом страницы.

    $('#newsletter-form').insertBefore('#page-footer');
  2. Вставить новый элемент перед каждым элементом, подходящим под селектор (клонирование).

    $('<hr class="divider">').insertBefore('.section');
  3. Нативный аналог для одной цели.

    var form = document.querySelector('#newsletter-form');
    document.querySelector('#page-footer').before(form);

[ наверх ]

Вопросы и ответы

Для чего используется .insertBefore() в jQuery?

Перемещает элементы набора jQuery, вставляя их перед элементами, определяемыми с помощью входного параметра.

Поиск по материалам

Начните вводить — поиск работает по заголовкам и тексту.

Esc — закрытьВсе материалы →