simples simple poner invertidas escape escapar doble concatenar comillas comilla colocar cadenas javascript html escaping

javascript - poner - json comilla simple



¿Cómo evito una comilla simple('') en JavaScript? (5)

Dado que los valores están realmente dentro de un atributo HTML, debe usar '

"<img src=''something'' onmouseover=''change(&apos;ex1&apos;)'' />";

Esta pregunta ya tiene una respuesta aquí:

ACTUALIZACIÓN: quiero dar una respuesta actualizada a esta pregunta. Primero, déjenme decir si están tratando de lograr lo que tengo a continuación, les recomiendo que administren eventos al agregar oyentes de eventos en su lugar. Recomiendo encarecidamente que utilice jQuery para su proyecto y use su sintaxis para administrar escuchas de eventos en lugar de usar DOM.

PREGUNTA

De acuerdo, básicamente estoy haciendo esto:

document.getElementById("something").innerHTML = "<img src=''something'' onmouseover=''change(/'ex1/')'' />";

No quiero comillas dobles (") donde coloco el / ''. Solo quiero una comilla simple, así que estoy tratando de no ponerla doble cuando se usa. Estoy tratando de llegar a esto en el resultado final .

<img src="something" onmouseover="change(''ex1'')" />

Escapar no funciona para mí.

Mi respuesta marcada funciona bien, sin embargo, el limpiador (y de aspecto más profesional, IMO) es la respuesta de Loganfsmyth .


La respuesta aquí es muy simple:

Ya lo está conteniendo entre comillas dobles, por lo que no hay necesidad de escapar con / .

Si desea evitar comillas simples en una cadena de comillas simples:

var string = ''this isn/'t a double quoted string''; var string = "this isn/"t a single quoted string"; // ^ ^ same types, hence we need to escape it with a backslash

o si quiere escapar /' , puede escapar de bashslash a // y la cita a /' like así:

var string = ''this isn///'t a double quoted string''; // vvvv // / '' (the escaped characters)

Sin embargo, si contiene la cadena con un tipo de cita diferente, no necesita escapar:

var string = ''this isn"t a double quoted string''; var string = "this isn''t a single quoted string"; // ^ ^ different types, hence we don''t need escaping


Puede escapar de '' en JavaScript como /'


Siempre debe considerar lo que el navegador verá al final. En este caso, verá esto:

<img src=''something'' onmouseover=''change('' ex1'')'' />

En otras palabras, el atributo "onmouseover" es simplemente change( , y hay otro "atributo" llamado ex1'')'' sin valor.

La verdad es que HTML no usa / para un personaje de escape. Pero sí reconoce &quot; y &apos; como cita escapada y apóstrofo, respectivamente.

Armado con este conocimiento, usa esto:

document.getElementById("something").innerHTML = "<img src=''something'' onmouseover=''change(&quot;ex1&quot;)'' />";

... Dicho esto, podría usar citas de JavaScript:

document.getElementById("something").innerHTML = "<img src=''something'' onmouseover=''change(/"ex1/")'' />";


document.getElementById("something").innerHTML = "<img src=/"something/" onmouseover=/"change(''ex1'')/" />";

O

document.getElementById("something").innerHTML = ''<img src="something" onmouseover="change(/'ex1/')" />'';

Debería estar funcionando ...