更新: 我想对这个问题给出一个更新的答案。首先,让我声明,如果您尝试完成我在下面的内容,我建议您通过 adding event listeners 管理事件反而。我强烈建议您使用 jQuery为您的项目使用它们的语法 manage event listeners过度使用 DOM。
问题
好的,我基本上就是这样做的:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\'ex1\')' />";
我不想在我放\' 的地方使用双引号 (")。我只想要一个单引号,所以我尽量不让它在使用时放双引号。我试图在最终结果。
<img src="something" onmouseover="change('ex1')" />
逃避对我不起作用。
我标记的答案工作正常,但是,更清洁(和更专业的方式,IMO)是 loganfsmyth's answer .
最佳答案
您应该始终考虑浏览器最终会看到什么。在这种情况下,它将看到:
<img src='something' onmouseover='change(' ex1')' />
换句话说,“onmouseover”属性只是change(
,还有一个名为ex1')'
的“属性”没有值。
事实上,HTML 不使用 \
作为转义字符。但它确实将 "
和 '
分别识别为转义引号和撇号。
掌握了这些知识,使用它:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change("ex1")' />";
...话虽如此,您可以只使用 JavaScript 引号:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\"ex1\")' />";
关于javascript - 如何在 JavaScript 中转义单引号 ( ' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134910/