我无法将电子邮件ID用作带有jquery的Div ID。
当我使用$("#xyz@gmail.com")
访问div时,我面临以下错误
语法错误,无法识别的表达式:#xyz@gmail.com
我无法使用jquery选择器进行检索。我只是想知道为什么电子邮件ID不能用作jquery选择器和解决方法。
提前致谢!!!
答案 0 :(得分:2)
您需要使用两个反斜杠@
来转义特殊字符.
和\\
。来自 docs :
使用任何元字符(例如 !“#$%&'()* +,。/:;< =>?@ [] ^`{|}〜)作为名称的字面部分,必须 用两个反斜杠转义:\\
$("#xyz\\@gmail\\.com")
答案 1 :(得分:1)
如果您使用任何元字符(例如!“#$%&'()+,。/:;< =>?@ [] ^`{| }〜* )作为html元素属性名称(id,class等)的一部分,您必须使用两个反斜杠转义字符。
试试这个:
$("#xyz\\@gmail\\.com").html("asdasdasadadeasdasdads");
答案 2 :(得分:1)
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(" - "), 下划线(" _"),冒号(":")和句号("。")。
同时,如果您想使用此ID,请在特殊章程前使用反斜杠。 并且在任何其他符号之前使用反斜杠,这意味着在html标签意义上是完整的。
类似于使用'。' (点)
所以如果你不能在'之前使用\\
。' jquery将其作为具有#xyz\\@gmail
所以用它作为
$("#aa\\@gmail\\.com")
答案 3 :(得分:0)
您必须使用@
在选择器中转义特殊字符.
和\\
:
$("#xyz\\@gmail\\.com")
关于选择器的快速参考:
使用任何元字符(例如 !"#$%&'()* +,。/:;< =>?@ [] ^`{|}〜)作为名称的字面部分,它必须 用两个反斜杠逃脱\\。例如,一个元素 id =" foo.bar",可以使用选择器$(" #foo \\。bar")。 W3C CSS 规范包含有关有效CSS的完整规则集 选择。同样有用的是Mathias Bynens关于CSS的博客文章 标识符的字符转义序列。