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

133
Vistas
keep apostrophes when passing string value in Innerhtml

The text value holds string text with double quotes and apostrophes as you see in the example. when I print the result it changes to different characters.

The text that is coming from API is :

"mismatched input 'STARTt' expecting 'START' ";

but when I print it, it goes :

"mismatched" input="" 'startt'="" expecting="" 'start'=""

I would like to print the string exactly how is stored

  
  var marker = document.createElement("div");
  
  var text = "mismatched input 'STARTt' expecting 'START' ";
  
  marker.innerHTML = "<div data-tooltip=" + text+ ">⚠️</div>";



console.log(marker.innerHTML);

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

You need to wrap text with quotes.

This works for me:

marker.innerHTML = "<div data-tooltip=\"" + text+ "\">⚠️</div>";

about 4 years ago · Juan Pablo Isaza Denunciar

0

Attribute values containing spaces have to be delimited with " or '.

Attribute values containing ' have to be delimited with "

Attribute values containing " have to be delimited with '.

Attribute values containing " and ' have to be delimited with one of those while the other has to be replaced with the appropriate entity (&quot; or &apos;).


Trying to generate HTML by mashing strings together is asking for trouble when you hit any kind of escaping requirements.

Don't do it. Use DOM methods instead.

const marker = document.createElement("div");
const text = "mismatched input 'STARTt' expecting 'START' ";
const child = document.createElement('div');
child.setAttribute('data-tooltip', text);
child.innerText = "⚠️";
marker.appendChild(child);
console.log(marker.innerHTML);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Use a template string. It should solve the problem

  var marker = document.createElement("div");
  
  var text = `mismatched input 'STARTt' expecting 'START' `;
  
  marker.innerHTML = `<div data-tooltip=" + text+ ">⚠️</div>`;



console.log(marker.innerHTML);
about 4 years ago · Juan Pablo Isaza 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