Jquery用相同的id切换每个div

时间:2010-01-06 23:15:40

标签: jquery layout html toggle

我想切换一堆每个都具有相同ID的div。 我当前的jquery代码只切换一个div。 (我尝试使用.next和.parent.next的混合物,但还没有找到任何东西)

$('#body'+id).toggle('400');

所以:会有多个带有'#body2010'id的div。我想切换所有这些。

6 个答案:

答案 0 :(得分:9)

文档中不应包含多个具有相同ID的元素 - 请改用class属性。

答案 1 :(得分:7)

重复的ID名称无效。你应该将它们转换为类。 jQuery只匹配ID标签的第一个匹配元素,而它将返回所有类匹配的数组。然后你会这样做:

$('.body'+id).toggle();

答案 2 :(得分:2)

ID应该是唯一的。 JQuery知道这一点,因此当您搜索具有特定ID的元素时,jQuery将只返回一个元素。

来自jQuery docs:

  

#ID
  匹配单个元素   给定id属性。

http://docs.jquery.com/Selectors/id#id

您应该将body2010 id切换为class属性。

答案 3 :(得分:1)

对jQuery一无所知,我认为ID应该是唯一的,如果你有多个具有相同ID的div,你应该使用一个类。

答案 4 :(得分:1)

如你所知,

ID代表“标识符”。 ID在所有上下文中都是唯一的。

您应该使用类来进行此类DOM查询。

答案 5 :(得分:1)

jQuery只会切换第一个元素,因为ID应该在页面上是唯一的。如果为每个div分配一个类名并使用它来切换,您将获得更好的结果。

$('.body' + id).toggle('400');