一尘不染

如何在JavaScript中转义单引号(')?

javascript

更新:
我想给这个问题一个更新的答案。首先,让我说一下您是否要完成下面的工作,我建议您改为通过添加事件侦听器来管理事件。我强烈建议您将jQuery用于您的项目,并使用其语法来管理事件监听器,而不是使用DOM。

好的,我基本上是这样做的:

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

我不希望在双引号(“)放在'处。我只希望使用单引号,所以我尝试不使它在使用时放入双引号。我试图在最终结果中实现。

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

转义对我不起作用。


阅读 925

收藏
2020-05-01

共1个答案

一尘不染

您应该始终考虑浏览器最终会看到的内容。在这种情况下,它将看到以下内容:

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

换句话说,“ onmouseover”属性是just change(,还有另一个ex1')'没有值的“ attribute” 。

事实是,HTML不\用于转义字符。但是它确实将引号和撇号分别识别&quot;&apos;作为转义。

掌握了这些知识之后,请使用:

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

…话虽如此,您可以只使用JavaScript引号:

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