javascript - 转义撇号

标签 javascript html

我有这个简单的脚本:onclick='sharemusic("Say It Ain't So", "Weezer");'

由于“Ain't”上的撇号,它无法正常工作。如何在不影响代码功能的情况下转义撇号?

非常感谢!

最佳答案

我不愿意添加这个答案,因为所有其他答案都很好并且对大多数人更有用 - 通过回答基本问题:“How to escape in Javascript inside HTML attributes” - 这不会回答那个问题。

有些人会考虑以下解决方法,其他人会将其视为唯一合适的解决方案™。

摆脱打字机撇号 - 尽管打字机在所有复古宏伟方面都很酷和时尚,但我们可以做得更好,甚至更老:回到正确的,一刀切的打印撇号(AKA “花撇号”)。

作为副作用,这也将解决转义问题:

onclick="sharemusic('Say It Ain’t So', 'Weezer');"

打字员会很高兴,浏览器也会很高兴。好吧,只要您按照应有的方式使用 UTF-8 或其他一些包含排版撇号的编码。 Unicode:U+2019,实体:(是的,它与正确的单引号共享其代码点 - 但它仍然是“正确的”撇号)。

如评论中所述,有各种库和 CMS/博客插件可帮助处理转换为正确的排版符号(和其他排版细节)。参见 wp-Typography , smartypants (我认为,这是第一个类似这样的实现 - 由 Markdown 的原作者 John Gruber 开发),typogrify

我不确定有什么更新的替代方案(如果有的话),因为很久以前我就制作了自己的(非公开的,我必须承认)C# 实现。

关于javascript - 转义撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17661145/

相关文章:

javascript - 调用通过构造函数传入的函数时,我可以避免在 Typescript 中使用单词 "this"吗?

javascript - 通过ID删除元素

javascript - 增加点击按钮的次数

javascript - 未选择具有分层数据的选项

javascript - JQuery 无法在 "forwards"css 动画后对 div 进行动画处理

javascript - 在不同文件中使用 Javascript 获取表单数据

javascript - 这里的 map 聚类不准确/意外行为

javascript - 将调度函数传递给子组件

javascript - Soundcloud API 不适用于带有 JS 控件的自定义 HTML5 音频播放器,但适用于 HTML5 控件

html - 表头位置 :sticky and border issue