使用jQuery计算可见的div

时间:2013-10-15 12:47:08

标签: javascript jquery html jquery-selectors

HTML:

<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在特定点击后变为不可见, 我想重新计算可见项目。

我试过

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

但是它给了我一个可怕的高数字,比如3050,所以我假设选择器会对.male内的所有可见div进行计数。

是否有人能够为只有特定类的可见div提供正确的选择器?

2 个答案:

答案 0 :(得分:23)

您需要删除.male:visible之间的空格,否则您将 .male中的所有可见元素定位:

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

Here's a quick JSFiddle demo显示两者。

更新: jQuery 1.8弃用其size()方法,转而使用JavaScript的length属性。我们现在可以:

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

答案 1 :(得分:8)

从选择器中删除空格:

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