2013-10-15 94 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;