--- title: Element.insertAdjacentElement() slug: Web/API/Element/insertAdjacentElement translation_of: Web/API/Element/insertAdjacentElement ---
{{APIRef("DOM")}}
El método insertAdjacentElement() inserta un elemento nodo dado en una posición dada con respecto al elemento sobre el que se invoca.
elementoObjetivo.insertAdjacentElement(posición, elemento);
posición'beforebegin': Antes del elementoObjetivo.'afterbegin': Dentro del elementoObjetivo, antes de su primer hijo.'beforeend': Dentro del elementoObjetivo, después de su último hijo.'afterend': Después del elementoObjetivo.elementoEl elemento insertado o null, si la inserción falla.
| Excepción | Explicación |
|---|---|
SyntaxError |
La posición especificada no tiene un valor reconocido. |
TypeError |
El elemento especificado no es un elemento válido. |
<!--beforebegin--><p><!--afterbegin--> foo <!--beforeend--></p><!--afterend-->
beforebegin y afterend sólo funcionan si el nodo está en un árbol y tiene un padre.beforeBtn.addEventListener('click', function() {
var tempDiv = document.createElement('div');
tempDiv.style.backgroundColor = randomColor();
activeElem.insertAdjacentElement('beforebegin',tempDiv);
setListener(tempDiv);
});
afterBtn.addEventListener('click', function() {
var tempDiv = document.createElement('div');
tempDiv.style.backgroundColor = randomColor();
activeElem.insertAdjacentElement('afterend',tempDiv);
setListener(tempDiv);
});
Mira nuestro insertAdjacentElement.html demo en Github (mira el código fuente también.) Aquí tenemos una secuencia de elementos {{htmlelement("div")}} dentro de un contenedor. Cuando uno es clickeado, se torna en seleccionado y tu puedes presionar los botones Insert before e Insert after para insertar nuevos divs antes o despues del elemento seleccionado usando insertAdjacentElement().
| Especificación | Estado | Comentario |
|---|---|---|
| {{SpecName('DOM WHATWG', '#dom-element-insertadjacentelement', 'insertAdjacentElement()')}} | {{ Spec2('DOM WHATWG') }} |
{{Compat("api.Element.insertAdjacentElement")}}
beforebegin, with different arguments)beforeend)