当电子邮件ID用作Div ID时,无法使用jquery id选择器检索div元素

时间:2014-04-16 07:29:41

标签: jquery

我无法将电子邮件ID用作带有jquery的Div ID。

当我使用$("#xyz@gmail.com")访问div时,我面临以下错误

  

语法错误,无法识别的表达式:#xyz@gmail.com

我无法使用jquery选择器进行检索。我只是想知道为什么电子邮件ID不能用作jquery选择器和解决方法。

提前致谢!!!

4 个答案:

答案 0 :(得分:2)

您需要使用两个反斜杠@来转义特殊字符.\\。来自 docs

  

使用任何元字符(例如   !“#$%&'()* +,。/:;< =>?@ [] ^`{|}〜)作为名称的字面部分,必须   用两个反斜杠转义:\\

$("#xyz\\@gmail\\.com")

答案 1 :(得分:1)

如果您使用任何元字符(例如!“#$%&'()+,。/:;< =>?@ [] ^`{| }〜* )作为html元素属性名称(id,class等)的一部分,您必须使用两个反斜杠转义字符。

试试这个:

$("#xyz\\@gmail\\.com").html("asdasdasadadeasdasdads");

demo

答案 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的博客文章   标识符的字符转义序列。

参考:http://api.jquery.com/category/selectors/

演示:http://jsfiddle.net/IrvinDominin/T3j8y/