【问题标题】:Count visible divs with jQuery使用 jQuery 计算可见 div
【发布时间】:2013-10-23 06:44:35
【问题描述】:

HTML:

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

我有几个类别为类的 div(还有更多没有 .male 的 div),在启动时我将它们计数为

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

(我知道 size(); 已弃用,但我们使用的是旧版本的 jQuery)

在应用程序期间,某些 div 在特定点击后变为不可见, 我想重新计算可见项。

我试过了

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

但它给了我一个可怕的高数字,比如 3050,所以我假设选择器确实计算了 .male 内的所有可见 div 或其他东西。

有人可以建议我正确的选择器,仅用于特定类的可见 div 吗?

【问题讨论】:

  • 您正在收集 .male 容器内的所有元素(不仅是 div)。 $('div.male:visible').size() 呢?
  • 即使是旧版本也包含.length,不是吗? ;)
  • @ThiefMaster 我尝试使用.length(),但它确实给了我一个错误,我在来源中留下了评论,以防万一.. :-)
  • 这是一个属性,而不是一个方法。
  • @ThiefMaster 感谢您的建议,更改了我的代码,它适用于.length

标签: javascript jquery html jquery-selectors


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    从选择器中删除空格:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-02
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2014-09-06
      • 2018-03-04
      • 1970-01-01
      相关资源
      最近更新 更多