¿Hay alguna forma de reemplazar el texto normal dentro de un elemento de tabla que se coloca dentro del cuerpo del HTML?
¿Te gusta reemplazar "hola" por "hola"?
Utilice únicamente JavaScript sin jQuery .
javascript
html
Lo que sea
fuente
fuente
hello, this is a text randomTexthello
debería serhi, this is a text randomTexthello
. Sin embargo, todas las demás respuestas aquí reemplazan los caracteres en lugar de las palabras.Respuestas:
Para reemplazar una cadena en su HTML con otra, use el método de reemplazo en innerHTML :
Tenga en cuenta que esto reemplazará la primera instancia de en
hello
todo el cuerpo, incluidas las instancias en su código HTML (por ejemplo, nombres de clases, etc.), así que úselo con precaución; para obtener mejores resultados, intente restringir el alcance de su reemplazo al apuntar a su código usando document.getElementById o similar.Para reemplazar todas las instancias de la cadena de destino, use una expresión regular simple con la
g
bandera lobal:fuente
<script type="text/javascript"> window.onload = clear(); function clear() { document.body.innerHTML = document.body.replace('ü', 'n'); } </script>
window.onload = clear;
sin los paréntesis "()". Cuando escribeclear()
, en realidad ejecuta la función, pero solo desea asignar la función al controlador de cargaLa función a continuación funciona perfectamente para mí:
Aquí tienes un ejemplo de uso:
También puede usar hacer un reemplazo directo como este:
Pero tenga cuidado con esto ya que puede afectar las etiquetas, CSS y scripts también.
EDITAR: En cuanto a una solución de JavaScript pura, use este método en su lugar:
fuente
Terminé con esta función para reemplazar de forma segura el texto sin efectos secundarios (hasta ahora):
Es para casos en los que los 16kB
findAndReplaceDOMText
son demasiado pesados.fuente
Yo tuve el mismo problema. Escribí mi propia función usando reemplazar en innerHTML, pero estropearía los enlaces de anclaje y demás.
Para que funcione correctamente, utilicé una biblioteca para hacer esto.
La biblioteca tiene una API impresionante. Después de incluir el script lo llamé así:
fuente
Estaba tratando de reemplazar una cadena realmente grande y, por alguna razón, las expresiones regulares arrojaban algunos errores / excepciones.
Entonces encontré esta alternativa a las expresiones regulares que también se ejecuta bastante rápido. Al menos fue lo suficientemente rápido para mí:
src: ¿Cómo reemplazar todas las apariciones de una cadena en JavaScript?
fuente
Utilice la función de reemplazo de cadena de JavaScript predeterminada
fuente
Intente aplicar la solución sugerida anteriormente en documentos bastante grandes, reemplazando cadenas bastante cortas que pueden estar presentes en innerHTML o incluso innerText, y su diseño html se rompe en el mejor de los casos
Por lo tanto, primero recojo solo elementos de nodo de texto a través de nodos DOM HTML, como este
`y luego apliqué el reemplazo en todos ellos en ciclo
fuente
Quería agregar un ejemplo a la respuesta de funky-future ya que seguía recibiendo este error:
usar así:
no funcionó para mí con los selectores de jQuery.
fuente
Soy nuevo
Javascript
y acabo de comenzar a aprender estas habilidades. Compruebe si el método siguiente es útil para reemplazar el texto.fuente
A veces, el cambio
document.body.innerHTML
rompe algunos scripts JS en la página. Aquí está la versión, que solo cambia el contenido de lostext
elementos:fuente