2010-01-20 30 views
0

我有一堆元素<div id='id1'></div>,並想返回它們的數量/數量。,如何根據id獲取元素的數量?

我使用下面的代碼,但它總是會返回值1:

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

我在做什麼錯?

+1

如果'id1'是你的元素的'id',那麼應該只有一個項目:'id'假設是唯一的;其他,它不是*標識符* – 2010-01-20 05:52:03

回答

-1

我想出了我自己的答案。我應該這樣做:

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

我只是需要它返回一個大於1的值,並且這有竅門。

我知道我應該使用類而不是id,但在我的程序中,類已經用於特定的事情,我做了另一個基於不能有多個類名的類的動作,但那是另一個故事,並且超出了本主題的範圍。感謝大家誰插話。

+0

我用這個作爲我的參考:http://stackoverflow.com/questions/1693109/counting-div-elements-based-on-id – 2010-01-20 06:10:22

3

請注意,應該只有一個具有特定標識符的項目開頭;你在做什麼被認爲是無效的。 jQuery在返回它找到的第一個之後正確停止。

如果您使用class="foo"代替,則可以正確使用.size()。例如,這個問題的StackOverflow的頁面上:

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

應該只有1與任何給定的id項目 - 如果你需要標記多個div,你應該使用class。我懷疑jQuery優化$('#id'),並返回只有第一,因此size總是返回1

0

如果你想有多個具有相同'東西'的div你需要使用一個類。

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

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

雖然ID應該是唯一的,$("[id='id1']").length會得到你想要的(如果你不能改變的HTML)的東西。