--- title: Element.insertAdjacentElement() slug: Web/API/Element/insertAdjacentElement tags: - API - DOM - Element - Gecko - Method - Reference - insertAdjacentElement translation_of: Web/API/Element/insertAdjacentElement ---
{{APIRef("DOM")}}
Метод insertAdjacentElement()
добавляет переданный элемент в DOM-дерево относительно элемента, вызвавшего метод.
targetElement.insertAdjacentElement(position, element);
'beforebegin'
: перед самим элементом targetElement
.'afterbegin'
: внутри элемента targetElement
, перед его первым потомком.'beforeend'
: внутри элемента targetElement
, после его последнего потомка.'afterend'
: после самого элемента targetElement
.Метод возвращает добавляемый элемент, либо null
, если добавление элемента завершилось ошибкой.
Исключение | Пояснение |
---|---|
SyntaxError |
Переданное значение position не соответствует ни одному из допустимых. |
TypeError |
Передаваемый element не является валидным. |
<!--beforebegin
--><p>
<!--afterbegin
--> foo <!--beforeend
--></p>
<!--afterend
-->
beforebegin
и afterend
работают только если targetElement находится в DOM-дереве и имеет родительский элемент.beforeBtn.addEventListener('click', function() { var tempDiv = document.createElement('div'); tempDiv.style.backgroundColor = randomColor(); if (activeElem) { activeElem.insertAdjacentElement('beforebegin',tempDiv); } setListener(tempDiv); }); afterBtn.addEventListener('click', function() { var tempDiv = document.createElement('div'); tempDiv.style.backgroundColor = randomColor(); if (activeElem) { activeElem.insertAdjacentElement('afterend',tempDiv); } setListener(tempDiv); });
Посмотрите наше демо insertAdjacentElement.html на Github (так же посмотрите исходный код). В этом демо мы имеем последовательность {{htmlelement("div")}} элементов внутри контейнера. При выборе одного из них можно нажать кнопку Insert before или Insert after и добавить новые div до или после выбранного элемента используя метод insertAdjacentElement()
.
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('DOM WHATWG', '#dom-element-insertadjacentelement', 'insertAdjacentElement()')}} | {{ Spec2('DOM WHATWG') }} |
{{Compat("api.Element.insertAdjacentElement")}}
beforeend
)