1

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

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

所以:会有多个带有“#body2010”ID 的 div。我想切换所有这些。

4

6 回答 6

9

文档中不应有超过 1 个具有相同 ID 的元素 - 请改用该class属性。

于 2010-01-06T23:17:47.857 回答
7

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

$('.body'+id).toggle();
于 2010-01-06T23:18:08.167 回答
2

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

来自 jQuery 文档:

#id
匹配具有给定 id 属性的单个元素。

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

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

于 2010-01-06T23:18:16.200 回答
1

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

于 2010-01-06T23:18:10.773 回答
1

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

您应该为这种类型的 DOM 查询使用类。

于 2010-01-06T23:19:55.437 回答
1

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

$('.body' + id).toggle('400');
于 2010-01-06T23:21:58.880 回答