--- 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
.elemento
El 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
)