我有一堆<div id='id1'></div>
的元素,想要返回它们的数量/数量。
我使用以下代码,但它始终返回值1:
alert( $('#id1').size() );
我做错了什么?
答案 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已经用于特定的东西,我根据不能有多个类名的类做另一个动作,但这是另一个故事,超出本主题的范围。感谢所有插话的人。