Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用类名jquery计算可见div_Jquery - Fatal编程技术网

使用类名jquery计算可见div

使用类名jquery计算可见div,jquery,Jquery,使用带有类名的:visible时遇到问题 例如: <div class="groupedDiv" id="group1"> <div class="level1"> Apples <div class="level2"> || L2-apple </div> </div> <div class="level1" style="display:none;">

使用带有类名的
:visible
时遇到问题

例如:

<div class="groupedDiv" id="group1">
    <div class="level1">
        Apples
        <div class="level2"> || L2-apple </div>
    </div>

    <div class="level1" style="display:none;">
        Oranges 
        <div class="level2"> || [L2-orange] </div>
    </div>
</div>

<br/>

<div class="groupedDiv" id="group1">
    <div class="level1">
        Roses
        <div class="level2"> || L2-rose </div>
        <div class="level3"> l3 rose </div>
    </div>
</div>

苹果
||L2苹果
橘子
||[L2橙色]

玫瑰 ||L2玫瑰 l3玫瑰
如果我想计算类
level1

$(“.level1:可见”).length给我输出3,这不是应该输出2吗

$(“.level1:可见”).parent().length给出正确的输出2

我在上创建了这个示例

任何建议都是有益的。谢谢

$(“.level1:visible”)
是一个后代选择器:您选择的所有可见元素都是
.level1
的后代。有三个
div
元素在
.level1
元素下可见

改用这个:

$(".level1:visible").length;

.

非常确定您需要执行
$(“.level1:visible”).length


空间正在破坏代码

@lonesomeday,当divs在页面上隐藏/显示时,有没有办法更新此代码?喜欢生活吗?它在页面加载时效果很好,但是对于删除div的排序/搜索,有什么方法可以改变它吗?@JamisonHill每当你运行它时,它都会给出当前的数字。每次更改后都需要再次运行选择器。也许有更优雅的方法可以做到这一点,但如果不深入查看您的代码,很难说。@lonesomeday-这里有一个jFiddle与我的代码。非常简单,但不是用搜索更新:让我知道你的想法。