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

标签 javascript html escaping

更新: 我想对这个问题给出一个更新的答案。首先,让我声明,如果您尝试完成我在下面的内容,我建议您通过 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(&quot;ex1&quot;)' />";

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

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

关于javascript - 如何在 JavaScript 中转义单引号 ( ' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16134910/

相关文章:

javascript - 用 JQuery 替换 div 内容

html - CSS - 向 anchor 添加填充不是移动图像

java - ElasticSearch - 无法识别的字符转义

C# 声明变量时转义字符串标识符

javascript - Angular/Ionic Observer 和 Observable

javascript - 正则表达式匹配 html div 内的换行符

javascript - 设置 Kendo 网格过滤器单元格值

html - 当我缩小浏览器窗口时,为什么媒体查询不会激活?

javascript - Angular UI Bootstrap 日期选择器隐藏在 uigrid 中

java - 在java中将国际字符串转换为\u代码