javascript - titles - w3schools try out




Como faço para escapar de uma aspa simples(') em JavaScript? (4)

A resposta aqui é muito simples:

Você já está contendo aspas duplas, então não há necessidade de escapar com \ .

Se você quiser escapar de aspas simples em uma string de aspas 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

ou se você quiser escapar \' , você pode escapar do bashslash para \\ e a citação para \' assim:

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

No entanto, se você contiver a string com um tipo de cotação diferente, não será necessário 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

Esta questão já tem uma resposta aqui:

ATUALIZAÇÃO: desejo dar uma resposta atualizada a essa pergunta. Primeiro, deixe-me dizer se você está tentando realizar o que eu tenho abaixo, recomendo que você gerencie os eventos adicionando ouvintes de eventos . Eu recomendo que você utilize o jQuery para o seu projeto e use sua sintaxe para gerenciar ouvintes de eventos usando o DOM.

QUESTÃO

Ok, basicamente estou fazendo isso:

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

Eu não quero aspas duplas (") onde eu coloquei o \ '. Eu só quero uma simples citação, então eu estou tentando não colocar um duplo quando é usado. Eu estou tentando alcançar isso no resultado final .

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

Fugir não está funcionando para mim.

Minha resposta marcada funciona bem, no entanto, a limpeza (e a aparência mais profissional, IMO) é a resposta do loganfsmyth .


Como os valores estão realmente dentro de um atributo HTML, você deve usar o &apos;

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

Você pode escapar de um ' em JavaScript como \'


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

OU

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

Deve estar funcionando ...





escaping