Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Element.insertAdjacentHTML()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since abril de 2018.
EL métodoinsertAdjacentHTML() de la interfazElement analiza la cadena de texto introducida como cadena HTML o XML e inserta al árbol DOM los nodos resultantes de dicho análisis en la posición especificada. Este método no re-analiza el elemento sobre el cual se está invocando y por lo tanto no corrompe los elementos ya existentes dentro de dicho elemento. Esto evita el paso adicional de la serialización, haciéndolo mucho más rápido que la manipulación directa coninnerHTML.
In this article
Sintaxis
element.insertAdjacentHTML(posición, texto);Parámetros
posiciónUn
DOMStringque representa la posición relativa alelemento, y deberá ser una de las siguientes cadenas:'beforebegin': Antes que el propioelemento.'afterbegin': Justo dentro delelemento, antes de su primer elemento hijo.'beforeend': Justo dentro delelemento, después de su último elemento hijo.'afterend': Después del propioelemento.
textoEs la cadena a ser analizada como HTML o XML e insertada en el árbol.
Visualizacion de las posiciones
<!-- beforebegin --><p> <!-- afterbegin --> foo <!-- beforeend --></p><!-- afterend -->
Nota:Las posicionesbeforebegin yafterend funcionan únicamente si el nodo se encuentra en el árbol DOM y tiene un elemento padre.
Ejemplo
// <div>one</div>var d1 = document.getElementById("one");d1.insertAdjacentHTML("afterend", '<div>two</div>');// En este punto, la nueva estructura es:// <div>one</div><div>two</div>Notas
>Consideraciones de seguridad
Cuando se inserte texto HTML en una página usandoinsertAdjacentHTML() debe tener cuidado de no usar cadenas de texto que no contengan las secuencias de escape pertinentes según sea el caso.
Se recomienda no usarinsertAdjacentHTML() cuando se pretende insertar texto plano; en su lugar, se debe utilizar la propiedadNode.textContent o el métodoElement.insertAdjacentText(). Este método no interpreta el contenido pasado como HTML, si no que lo inserta como texto plano.
Especificaciones
| Specification |
|---|
| HTML> # the-insertadjacenthtml()-method> |
Compatibilidad con navegadores
Véase también
Element.insertAdjacentElement()Element.insertAdjacentText()XMLSerializer: Contruir una representación del DOM de un texto XML- hacks.mozilla.org guest post por Henri Sivonen incluye puntos de referencia mostrando que insertAdjacentHTML puede ser mucho más rápido en algunos casos.