我想计算一个类名为“items”且具有属性“style = display:none”的div。
<div id="skills">
<div class="items" style="display:none">1</div>
<div class="items">2</div>
<div class="items">3</div>
<div class="items" style="display:none">4</div>
<div class="items" style="display:none">5</div></div>
输出应为'3'。
=============================================== ============
除了问题:
<div id="skills1">
<div class="items" style="display:none">1</div>
<div class="items">2</div>
<div class="items">3</div>
<div class="items" style="display:none">4</div>
<div class="items" style="display:none">5</div></div>
<div id="skills2">
<div class="items" style="display:none">1</div>
<div class="items" style="display:none">2</div>
<div class="items" style="display:none">3</div>
<div class="items" style="display:none">4</div>
<div class="items" style="display:none">5</div></div>
输出应为'3'&amp; '5'。
答案 0 :(得分:16)
原件:
var count = $('div.items:hidden').length;
新:
var counts = {};
$('#skills1,#skills2').each( function() {
counts[$(this).attr('id')] = $('div.items:hidden', $(this)).length;
}
counts
对象将是:
{ skills1 : 3, skills2 : 5 }
最后(?)
$('#skills1,#skills2').each( function() {
if ($('div.items:hidden',$(this)).length == 0) {
$(this).hide();
}
});
如果你给“容器”一个类作为选择器,那就更容易了。然后你可以简单地用类选择器替换#skills1,#skills2
,而不是让函数依赖于DIV的名称,这意味着如果你添加另一个容器就不必改变它,比如说skills3
。您只需要确保为该容器提供正确的类。