如何找到无隐藏行数,这是html
<div style="display:none;">
<ul id="abc">
<li>List Item</li>
<li>List Item</li>
<li style="display:none;">List Item</li>
<li class="hidden">List Item Hidden</li>
</ul>
</div>
CSS
ul { border: 1px solid blue; padding: 2px; margin: 2px;}
li { width: 100px; height:100px; background-color:blue;}
.hidden { display: none; }
的jQuery
$(function () {
alert($("#abc li:not(:hidden)").length);
});
修改
守则按预期工作但我想要的是
查找隐藏Div中隐藏列表项的数量...
注意:它是一个弹出列表,我使用了一些代码来.hide()和.show()li但是list有display:none;我仍然想知道有多少项是可见的,好像它是零,我会隐藏打开这个弹出列表的按钮
修改------------------------------------------ 2
忘记一切......
我想找出一些未隐藏的列表项,如果它们所在的Div变得可见,它们将会变得可见。
简单如牛奶: - )
答案 0 :(得分:2)
您可以过滤元素并检查其display
样式是否设置为none
。像这样:
$(function () {
var items = $("li").filter(function(){
return $(this).css("display") != "none";
});
alert(items.length);
});
注意:这在很大程度上取决于display:none;
是决定元素是否可见的唯一因素。如果您使用其他方法,例如visibility:hidden;
,则需要修改过滤器以解决此问题。
答案 1 :(得分:1)
试试我的朋友:
$(function () {
$i = 0;
$("ul > li").each(function(){
if(!$(this).hasClass('hidden') || $(this).css('display') != 'none')
$i++;
});
alert($i);
});