--- 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}}
beforeend)