Estoy buscando reemplazar un elemento en el DOM.
Por ejemplo, hay un <a>
elemento que quiero reemplazar con un <span>
lugar.
¿Cómo iría y haría eso?
javascript
dom
Dios mio
fuente
fuente
target.replaceWith(element);
es la forma moderna (ES5 +) de hacer estoRespuestas:
mediante el uso de replaceChild () :
fuente
a es el elemento A reemplazado.
fuente
A.replaceWith(span)
- No se necesitan padresForma genérica:
Mucho mejor / más limpio que el método anterior.
Para su caso de uso:
Documentos de Mozilla
Navegadores compatibles : 94% abril de 2020
fuente
Esta pregunta es muy antigua, pero me encontré estudiando para obtener una Certificación de Microsoft, y en el libro de estudio se sugirió usar:
Lo busqué y parece que solo es compatible con IE. Doh ..
Pensé que lo agregaría aquí como una nota al margen graciosa;)
fuente
Tuve un problema similar y encontré este hilo. Reemplazar no funcionó para mí, y pasar por el padre fue difícil para mi situación. El HTML interno reemplazó a los niños, que tampoco era lo que yo quería. El uso de externalHTML hizo el trabajo. ¡Espero que esto ayude a alguien más!
fuente
Puede reemplazar un Nodo usando
Node.replaceWith(newNode)
.Este ejemplo debe mantener todos los atributos y elementos secundarios del nodo de origen:
fuente
Ejemplo para reemplazar elementos LI
fuente
Dadas las opciones ya propuestas, la solución más fácil sin encontrar un padre:
fuente