【发布时间】:2022-01-20 19:07:48
【问题描述】:
我有一个带有以下代码的 jQuery:
id = 100;
name = "O'Keefe";
str = "<button type='button' onclick='selName( "+id+",\""+name+"\")'>Select</button>";
str 被加载到一个 div 中。
当我检查它显示的页面时:
<button type="button" onclick="selName( 100, "O" Keefe")'>Select</button>
我尝试用
转义单引号name = name.replace(/'/g, '\'');
但它没有用。
我的代码适用于没有单引号的名称。
关于如何处理带单引号的名称有什么建议吗?
谢谢。
【问题讨论】:
-
HTML 没有任何形式的内部属性转义。因此,如果您使用
'作为属性值分隔符,您根本不能在属性中包含'。 -
我试过了,一切都很好。你能展示一下你是如何将它加载到 div 中的吗?
-
@Barmar 谢谢。在阅读了您关于在 HTML 中转义的评论后,我进行了搜索并找到了解决方案 - 将单引号替换为 '有效。 :)
-
这和 jQuery 有什么关系?您没有使用它来创建 HTML。
-
也可以使用反引号
`