gpt4 book ai didi

jQuery 方法选择一个子集及其逆?

转载 作者:行者123 更新时间:2023-12-01 00:58:57 25 4
gpt4 key购买 nike

给定一些 jQuery 对象集以及该集的子集,是否有一种方法可以返回子集?

如果答案是“”,是否有办法避免进行第二次选择来获取逆子集?

解释示例:

<ul>
<li class="subset"></li>
<li class="subset"></li>
<li class="inverse"></li>
<li class="inverse"></li>
</ul>

首先我想对所有 <li> 做点什么,然后就只有 .subset ,最后还有其他的东西.inverse :

$('li').css('background-color','blue')
.filter('.subset')
.css('color','black')
.inverse() // <-- White Whale?!?
.css('color','white');

我知道这可以通过 .end().filter('.inverse') 轻松完成,但假设选择器实际上令人讨厌,并且运行两次将会对性能造成很大影响。然后呢?

在 API 文档中没有找到类似的内容,但我是 jQuery 的新手,可能忽略了一些明显的东西(另外, .andSelf() 的存在意味着这并不是不合理的期望......)。

最佳答案

没有内置函数可以实现此目的,反向过滤器就是您所追求的......替代方案不可链接。另一种选择是 .not() ,像这样:

var all = $('li').css('background-color','blue');
var sub = all.filter('.subset').css('color','black');
all.not(sub).css('color','white');

...但它又不太漂亮,我会坚持使用 .end().filter() 方法。但是,如果性能至关重要,请使用 .not()上面的方法,它更有效(因为没有选择器运行逆集)。

<小时/>

对于您的具体示例(尽管不是一般问题),执行此操作会非常快:

$('li').css('background-color','blue').css('color','white')
.filter('.subset').css('color','black');

关于jQuery 方法选择一个子集及其逆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4502533/

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