Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

303
Vistas
Cómo reemplazar todos los espacios en blanco con &nbsp mientras se ignoran las etiquetas html

Estaba reemplazando todos los espacios en un elemento div con   para poder leer fácilmente todos los espacios con un archivo JavaScript. Cuando estaba codificando esto, me di cuenta de que los elementos dentro del div se estropearían porque las propiedades como ids requieren espacios entre el nombre de la etiqueta y la propiedad se reemplazaría rompiendo la etiqueta. ¿Cómo podría ignorar el espacio entre la etiqueta y el nombre y solo reemplazar los espacios de texto?

Código:

 let el = document.getElementById('parent'); function replaceText() { let text = el.innerHTML.split(' ').join(' '); el.innerHTML = text; console.log(text); } //I dont want the span tag or em tag to get messed up by this
 <!DOCTYPE html> <html> <body> <div id='parent'> Lorem ipsum <span id='element'> <em id='child'>dolor sit amet</em> </span> </div> <button onclick='replaceText()'>Change with nbsp</button> </body> </html>

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

La mejor manera que se me ocurre es buscar nodos de texto en el elemento. Deberá llamar a la función recursivamente hasta que no haya más nodos de texto. Aquí hay un código de ejemplo para comenzar.

 function replaceText(element) { for (let childNode of element.childNodes) { if (childNode.nodeType === Node.TEXT_NODE) { childNode.data = ' ' + childNode.data.trim().replace(/ /g, '\u00a0') + ' ' continue } // Recursively replace text for child node replaceText(childNode) } }
 <!DOCTYPE html> <html> <body> <div id='parent'> Lorem ipsum <span id='element'> <em id='child'>dolor sit amet</em> </span> </div> <button onclick='replaceText(document.getElementById("parent"))'>Change with nbsp</button> </body> </html>

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda