在jQuery中,如何根据id获取元素的数量?

时间:2010-01-20 05:49:04

标签: jquery

我有一堆<div id='id1'></div>的元素,想要返回它们的数量/数量。

我使用以下代码,但它始终返回值1:

alert( $('#id1').size() );

我做错了什么?

5 个答案:

答案 0 :(得分:3)

请注意,应该只有一个具有特定标识符的项目开头;你正在做的事被认为是无效的。 jQuery在返回它找到的第一个后正确停止。

如果您使用class="foo",则可以正确使用.size()。例如,在这个问题的StackOverflow页面上:

>>> $('.votecell').size()
8

答案 1 :(得分:0)

任何给定的id应该只有1个项目 - 如果您需要标记多个div,则应使用class。我怀疑jQuery优化$('#id')并仅返回第一个,因此size总是返回1

答案 2 :(得分:0)

如果你想让多个div具有相同的'某事',你需要使用一个类。

<div class='class1'></div>

alert( $('div.class1').size() );

答案 3 :(得分:0)

虽然ID应该是唯一的,$("[id='id1']").length会为您提供所需的内容(如果您无法更改HTML)。

答案 4 :(得分:-1)

我想出了自己的答案。我应该做的:

alert( $('body #id1').length );

我只需要它返回一个大于1的值,这就可以了。

我知道我应该使用class而不是id,但在我的程序中,class已经用于特定的东西,我根据不能有多个类名的类做另一个动作,但这是另一个故事,超出本主题的范围。感谢所有插话的人。