gpt4 book ai didi

javascript - 从选定列表中删除元素而不是从 dom 中删除元素

转载 作者:行者123 更新时间:2023-11-29 21:32:40 25 4
gpt4 key购买 nike

我需要在 jQuery 中进行复杂的选择它应该如下所示:

var ctrls = $('.ctrl').not('.ctrl:disabled,.ctrl:parent:hidden');
ctrls.parents('.InsideContainerControl:hidden').remove();

很明显,第二行实际上是从 dom 中删除元素而我正在寻找的是一种将其从选择列表中删除的方法

最佳答案

这样的事情应该可行,您首先过滤掉 parent ,然后过滤掉 child :

$('.InsideContainerControl')                   // get all parents
.not('.InsideContainerControl:hidden') // remove hidden ones
.find('.ctrl') // get all children from the remaining
.not('.ctrl:disabled,.ctrl:parent:hidden') // remove disabled ones

注意这个,应该忽略 1、2(隐藏父级)和 4(禁用):

var sel = 
$('.InsideContainerControl') // get all parents
.not('.InsideContainerControl:hidden') // remove hidden ones
.find('.ctrl') // get all children from the remaining
.not('.ctrl:disabled,.ctrl:parent:hidden');// remove disabled ones

alert(sel.text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="InsideContainerControl" style="display: none">
<button class="ctrl">1</button>
<button class="ctrl" disabled>2</button>
</div>
<div class="InsideContainerControl">
<button class="ctrl">3</button>
<button class="ctrl" disabled>4</button>
</div>

关于javascript - 从选定列表中删除元素而不是从 dom 中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778232/

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