gpt4 book ai didi

javascript - 通过 jQuery 根据其深度删除 HTML 元素

转载 作者:行者123 更新时间:2023-11-28 13:46:19 26 4
gpt4 key购买 nike

我的 HTML 页面中有嵌套列表,这些列表由 jQuery 代码管理,该代码为用户提供向列表节点添加行和子级的交互。每个列表都可以包含一个 div 用于添加新列表作为子列表。我的问题是我想在我可以创建的元素的深处添加一个动态限制器:

<ul>
<li>
<ul>
<li><div class="add-child"></div></li>
<li><div class="add-child"></div></li>
<li><div class="add-row"></div></li>
</ul>
</li>
<li><div class="add-child"></div></li>
<li><div class="add-child"></div></li>
<li><div class="add-row"></div></li>
</ul>

深度将来可能会发生变化,我知道如果我想使用最多 3 个深度级别,我可以简单地使用这样的静态选择器:

$('li li li .add-child').remove();

但是我想要一个动态解决方案来通过 PHP 设置深度,然后通过 jQuery 限制它,我的方法如何?

最佳答案

$('.add-child')
.filter(function(){
return $(this).parents('li').length > 2;
})
.remove();

我知道,你说过你不需要插件,但我无法抗拒:D

$.fn.filterIfHasNParents = function(n, selector){
var depth = n || 1;
return $(this).filter(function(){
return $(this).parents(selector || '').length > depth - 1;
});
}

然后将其用作:

$('.add-child').filterIfHasNParents(3, 'li').remove();

关于javascript - 通过 jQuery 根据其深度删除 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14112830/

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