我有一个ID为电子邮件的DIV:
<div id="example@example.com">This is blah blah text</div>
现在使用jQuery,我想选择DIV并隐藏它:
$('#example@example.com').hide();
这不起作用!
由于我正在动态生成这些DIV,并且我不想再次查询数据库中的实际行ID,我将使用电子邮件地址作为ID,我不能这样做...... < / p>
对此有任何解决方案吗?
提前致谢
答案 0 :(得分:2)
请注意,此类ID仅在HTML5中合法。
要在jQuery中将这些ID用作选择器,您必须转义特殊字符:
$('#example\\@example.com').hide();
答案 1 :(得分:0)
如果您希望使用任何元字符(例如
!"#$%&'()*+,./:;<=>?@[\]^
{|}〜`)作为名称的文字部分,则必须使用两个反斜杠转义字符:\
您的ID在html4.1下无效,必须遵循以下规则
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
上面的http://www.w3.org/TR/html4/types.html#type-id
但是如果您使用的是heml5,则有效
<div id="#">Foo.
<div id="##">Bar.
<div id="♥">Baz.
<div id="©">Inga.
<div id="{}">Lorem.
<div id="“‘’”">Ipsum.
<div id="⌘⌥">Dolor.
<div id="{}">Sit.
<div id="[attr=value]">Amet.
<div id="++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.">Hello world!
要使用此功能,您需要\\
之类的$('#example\\@example.com')
答案 2 :(得分:0)
你不能使用“example@example.com”作为html元素的id,而是使用像这样的数据属性
<div data-id="example@example.com">
</div>
然后使用jQuery来选择它
$('div[data-id="example@example.com"]').hide();