2013-10-15 81 views
7

HTML:計數可見的div

<div class="male">...</div> 
<div class="male">...</div> 
<div class="female">...</div> 

我有幾個div的使用類別爲類(及以上的div沒有.male他們的內部),在啓動時我

$('.male').size(); // Returns 40 items for example 

盡數(我知道size();已棄用,但我們使用舊版本的jQuery)

在應用程序中,一些div會將i在特定點擊後無形, 我想重新計算可見項目。

我試圖

$('.male :visible').size(); 

但它給了我一個可怕的大量的,像3050,所以我想選擇不計內.male什麼的所有可見的div。

是否有人能夠指導我正確的選擇器只有可見的div與特定的類?

+0

您收集。男性容器內所有的元素(不僅div的)。那麼$('div.male:visible')。size()? – opalenzuela

+0

甚至更​​早的版本包含'.length',不是嗎? ;) – ThiefMaster

+0

@ThiefMaster我用'.length()'試過了,它確實給了我一個錯誤,我在源代碼中留下了一個關於這個的評論,例如.. :-) – DanFromGermany

回答

19

您需要刪除.male:visible之間的空間,否則,你內.male針對所有可見的元素

$('.male:visible').size(); 

Here's a quick JSFiddle demo顯示兩者。

更新: jQuery 1.8棄用了其size()方法,轉而使用JavaScript的length屬性代替。現在,我們可以:

$('.male:visible').length;