更新: 我想对这个问题给出一个更新的答案。首先,让我声明如果您尝试完成我在下面的内容,我建议您通过添加事件侦听器来管理事件。我强烈建议您在项目中使用jQuery,并使用它们的语法来管理事件侦听器,而不是使用 DOM。
问题
好的,我基本上是这样做的:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\'ex1\')' />";
我不想要双引号(“)在我放 ' 的地方。我只想要一个单引号,所以我试图不让它在使用时放双引号。我试图在最终结果中达到这一点.
<img src="something" onmouseover="change('ex1')" />
逃避对我不起作用。
我标记的答案效果很好,但是,更清洁(并且更专业的方式,IMO)的答案。
由于这些值实际上在 HTML 属性中,因此您应该使用'
'
"<img src='something' onmouseover='change('ex1')' />";
您应该始终考虑浏览器最终会看到什么。在这种情况下,它将看到:
<img src='something' onmouseover='change(' ex1')' />
换句话说,“onmouseover”属性只是change(,还有另一个“属性”被调用ex1')',没有值。
change(
ex1')'
事实是,HTML 不使用\转义字符。但它确实将"和'分别识别为转义引号和撇号。
\
"
'
有了这些知识,请使用:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change("ex1")' />";
…话虽如此,您可以只使用 JavaScript 引号:
document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\"ex1\")' />";