Javascript 标记onclick中的html特殊字符
我有一个带有onclick事件的标记,如下所示:Javascript 标记onclick中的html特殊字符,javascript,html,Javascript,Html,我有一个带有onclick事件的标记,如下所示: onclick="cl_showEvents({ 'posts' : [{ 'CategoryName':'categoryName', 'postID':'1', 'title':'title', 'address':'address', 'time':'00:00'}] })" 它工作正常,直到发出转义序列,如下所示: onc
onclick="cl_showEvents({
'posts' :
[{
'CategoryName':'categoryName',
'postID':'1',
'title':'title',
'address':'address',
'time':'00:00'}]
})"
它工作正常,直到发出转义序列,如下所示:
onclick="cl_showEvents({
'posts' :
[{
'CategoryName':'categoryName',
'postID':'1',
'title':'title',
'address':'streetName st'',
'time':'00:00'}]
})"
我错过了什么?不是你问题的答案-我不知道如何
'
打破了这种结构——但在我看来,在标记中放的东西太多了。我建议将整个内容移动到页面底部的一个单独脚本中,或者移动到加载/DOMLoad
事件中
sansjquery:
document.getElementById("your_element").onclick = function()
{
cl_showEvents({
'posts' :
[{
'CategoryName':'categoryName',
'postID':'1',
'title':'title',
'address':'streetName st'',
'time':'00:00'}]
})
}
在符号和前加反斜杠:
'address':'streetName st\''
避免实体的转换&39将>编码到它所表示的字符中。这不是因为字符是HTML编码的,而是因为它是撇号。使用撇号作为字符串分隔符时,必须在字符串中转义撇号:
onclick="cl_showEvents({
'posts' :
[{
'CategoryName':'categoryName',
'postID':'1',
'title':'title',
'address':'streetName st\'',
'time':'00:00'}]
})"
请注意,撇号不需要HTML编码,您只需使用常规撇号即可(看到这样的代码可以更清楚地看出为什么撇号需要转义):
我知道这一点,我会的,但我对这个问题很感兴趣,这就是FireBug在属性列表后所说的:missing}。我试着用谷歌搜索它,但没有成功。不,反斜杠不能阻止实体转换成撇号。它避开实体转换为的撇号。
onclick="cl_showEvents({
'posts' :
[{
'CategoryName':'categoryName',
'postID':'1',
'title':'title',
'address':'streetName st\'',
'time':'00:00'}]
})"