gpt4 book ai didi

jQuery 删除顶部 div 父级,如果?

转载 作者:太空宇宙 更新时间:2023-11-04 10:51:03 25 4
gpt4 key购买 nike

如果容器 div 没有可见的子元素,我会尝试隐藏它。

以下是我当前的代码:

<ul class="category-topics">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>

<ul class="category-topics">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>

如果某个类别主题在任何时候都隐藏了以下所有类别。

<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>

然后隐藏没有可见子项且只有那个子项的类别。

如何实现?

我现在在做什么:

$('.category-topics').each(function(i, obj) {
if($('.level-3').children(':visible').length == 0) {
console.log('All children is empty');
}
});

最佳答案

您需要通过在当前元素上使用 .find() 来在每个循环内定位具有类 .level3 的底层元素。

 $('.category-topics').each(function(i, obj) {
if($(this).find('.level-3').children(':visible').length == 0) {
alert('All children is empty');
$(this).find('.level-3').hide(); // hides the ul element
}
});

工作示例:https://jsfiddle.net/DinoMyte/6x80vabm/14/

关于jQuery 删除顶部 div 父级,如果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002128/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com