【发布时间】:2011-01-02 06:58:15
【问题描述】:
我想切换一堆 div,每个 div 都有相同的 id。 我当前的 jquery 代码只切换一个 div。 (我尝试过混合使用 .next 和 .parent.next,但还没有找到任何东西)
$('#body'+id).toggle('400');
所以:会有多个带有“#body2010”ID 的 div。我想切换所有这些。
【问题讨论】:
我想切换一堆 div,每个 div 都有相同的 id。 我当前的 jquery 代码只切换一个 div。 (我尝试过混合使用 .next 和 .parent.next,但还没有找到任何东西)
$('#body'+id).toggle('400');
所以:会有多个带有“#body2010”ID 的 div。我想切换所有这些。
【问题讨论】:
文档中不应有超过 1 个具有相同 ID 的元素 - 请改用 class 属性。
【讨论】:
重复的 ID 名称无效。您应该将它们转换为类。 jQuery 只会匹配 ID 标记的第一个匹配元素,而它会返回所有类匹配的数组。然后你会这样做:
$('.body'+id).toggle();
【讨论】:
ID 应该是唯一的。 jQuery 知道这一点,因此当您搜索具有特定 ID 的元素时,jQuery 将只返回一个元素。
来自 jQuery 文档:
#id
将单个元素与 给定 id 属性。
http://docs.jquery.com/Selectors/id#id
您应该将 body2010 id 切换为类属性。
【讨论】:
对jQuery一无所知,我相信一个ID应该是唯一的,如果你有多个具有相同ID的div,你应该使用一个类。
【讨论】:
如您所知,ID 代表“标识符”。 ID 在所有上下文中都是唯一的。
您应该为这种类型的 DOM 查询使用类。
【讨论】:
jQuery 将只切换这些元素中的第一个,因为 ID 在页面上应该是唯一的。如果您为每个 div 分配一个类名并使用它来切换,您将获得更好的结果。
$('.body' + id).toggle('400');
【讨论】: