3

我正在动态加载 div 并使用绑定 div 的点击事件

$(jq(userData.email)).live('click', function() { alert('hello from binded function call'); });

这里我使用 emailid (a@b.com) 作为 div id。我正在使用 jq 方法来解析 id。执行后,显示'Unrecognized expression':#a@b.com

这是我用来解析的 jq 方法

function jq( myid ) 
{
    return "#" + myid.replace( /(:|\.|\[|\])/g, "\\$1" );
}
4

2 回答 2

2

您必须转义特殊字符:

$("#abc\\@abc").doSomething();

看看jQuery 文档

另请注意.live()已弃用(并在 jQuery >= 1.9 中删除)

于 2013-05-31T11:25:32.813 回答
1

a@b.com 不是有效的 ID。

ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。

请参阅以下问题 HTML 中 id 属性的有效值是什么?

于 2013-05-31T11:24:29.200 回答