es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Reemplazar cadena sin eliminar la estructura de HTML

Cuando intento reemplazar el string 0,50 con JavaScript, ‘mydiv’ ha sido eliminado/movido.

Ejemplo:

<div id="para1"><div class="mydiv"></div>0,50</div>

Cuando intento reemplazar 0,50 por 80 hago lo siguiente:

document.getElementById("para1").innerText = "80"

o con jQuery:

$("#para1").text("80")

entonces el resultado es:

<div id="para1">80</div>

durante la operación se elimina <div class="mydiv"></div>

¿Cómo puedo hacer para mantener la estructura HTML y obtener un resultado como este?:

<div id="para1"><div class="mydiv"></div>80</div>
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para mantener la estructura de HTML y el resultado como se menciona, podemos usar el método replace de JavaScript con una expresión regular:

    var el = document.getElementById("para1");
    el.innerHTML = el.innerHTML.replace(/0,50/g, '<div class="mydiv"></div>80');
    

    En este fragmento de código, primero obtenemos el elemento por su id “para1”, y luego usamos la propiedad innerHTML para acceder al contenido del elemento. Luego reemplazamos todas las apariciones de “0,50” con la cadena HTML deseada, que incluye el div con la clase “mydiv” y el texto “80”. La expresión regular “/0,50/g” se utiliza para encontrar todas las apariciones de “0,50” en el contenido.

    Ten en cuenta que si hay otras apariciones de “0,50” en el contenido que no deben ser reemplazadas, es posible que debamos modificar la expresión regular en consecuencia.

Comments are closed.