我正在动态加载div并使用
绑定div的click事件 $(jq(userData.email)).live('click', function()
{
alert('hello from binded function call');
});
这里我使用emailid(a@b.com)作为div id。我正在使用jq方法来解析id。执行后,显示“无法识别的表达式”:#a@b.com
这是jq方法,我用来解析
function jq( myid )
{
return "#" + myid.replace( /(:|\.|\[|\])/g, "\\$1" );
}
答案 0 :(得分:2)
你必须逃避特殊字符:
$("#abc\\@abc").doSomething();
查看jQuery docs。
Please also notice that .live()
is deprecated (and removed in jQuery >= 1.9)
答案 1 :(得分:1)
a@b.com不是有效身份证件。
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(" - "), 下划线(" _"),冒号(":")和句号("。")。