Spec-Zone.ru › Web APIs

Элемент: метод insertAdjacentElement()

Базовая линия Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Метод insertAdjacentElement() интерфейса Element вставляет указанный узел элемента в заданную позицию относительно элемента, на котором он вызван.

Синтаксис

insertAdjacentElement(position, element)

Параметры

position

Строка, представляющая позицию относительно targetElement; должна точно (без учета регистра) соответствовать одной из следующих строк:

  • 'beforebegin': Перед самим targetElement.
  • 'afterbegin': Внутри targetElement, перед его первым дочерним элементом.
  • 'beforeend': Внутри targetElement, после его последнего дочернего элемента.
  • 'afterend': После самого targetElement.
element

Элемент, который будет вставлен в дерево.

Возвращаемое значение

Вставленный элемент или null, если вставка не удалась.

Исключения

SyntaxError DOMException

Выбрасывается, если указанное position не является распознаваемым значением.

TypeError

Выбрасывается, если указанный element не является допустимым элементом.

Визуализация имён позиций

<!-- beforebegin -->
<p>
  <!-- afterbegin -->
  foo
  <!-- beforeend -->
</p>
<!-- afterend -->

Примечание: Позиции beforebegin и afterend работают только в том случае, если узел находится в дереве и имеет родительский элемент.

Примеры

beforeBtn.addEventListener("click", () => {
  const tempDiv = document.createElement("div");
  tempDiv.style.backgroundColor = randomColor();
  if (activeElem) {
    activeElem.insertAdjacentElement("beforebegin", tempDiv);
  }
  setListener(tempDiv);
});

afterBtn.addEventListener("click", () => {
  const tempDiv = document.createElement("div");
  tempDiv.style.backgroundColor = randomColor();
  if (activeElem) {
    activeElem.insertAdjacentElement("afterend", tempDiv);
  }
  setListener(tempDiv);
});

Посмотрите наш демонстрационный пример insertAdjacentElement.html на GitHub (также посмотрите исходный код). Здесь у нас последовательность элементов <div> внутри контейнера. Когда один из них нажимается, он становится выбранным, и вы можете нажать кнопки Вставить перед и Вставить после, чтобы вставить новые div-элементы перед или после выбранного элемента с помощью insertAdjacentElement().

Спецификации

Спецификация
DOM
# dom-element-insertadjacentelement

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari на iOS Samsung Internet WebView Android
insertAdjacentElement 1 17
12–17Только поддерживается для HTMLElement, а не для всех Element объектов, таких как SVGElement.
48 8 3 18 48 10.1 1 1.0 4.4

См. также

  • Element.insertAdjacentHTML()
  • Element.insertAdjacentText()
  • Node.insertBefore() (аналогично beforebegin, с другими аргументами)
  • Node.appendChild() (тот же эффект, что и beforeend)

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Element/insertAdjacentElement

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API