gpt4 book ai didi

jquery - 我们可以对 jQuery 中 'not selector' 选择的元素执行操作吗

转载 作者:行者123 更新时间:2023-12-01 06:29:20 25 4
gpt4 key购买 nike

我想做这件简单的事情。

我必须将当前类添加到第一个<li>元素和其他的禁用类。 目前我正在这样做:

$('#slideshow li:first').addClass('current');

$('#slideshow li').not(':first').addClass('disabled');

但我想知道我们是否可以在一行中完成这样的事情:

$('#slideshow li').not(':first', function(){ $(this).addClass('current'); }).addClass('disabled');

任何启发将不胜感激。 :)

最佳答案

jQuery 链接之所以有效,是因为调用的方法返回与您运行它的结果集相同或经过修改的结果集。因此,通过使用 not() 进行过滤,您将返回修改后的结果集,并且无法再次访问原始结果集。

您可以使用 .end() 解决此问题,它执行以下操作:

结束当前链中最近一次的过滤操作,并将匹配的元素集合返回到之前的状态。

所以要么你做一些像你正在做的事情(但缓存结果集),我发现这有点不那么令人困惑,并且更具可读性:

var elements = $('#slideshow li');
elements.first().addClass('current');
elements.not(':first').addClass('disabled');

或者您使用 end() 在一行中执行此操作,这可能会变成很长的一行代码:

$('#slideshow li').first().addClass('current').end().not(':first').addClass('disabled');

关于jquery - 我们可以对 jQuery 中 'not selector' 选择的元素执行操作吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9499564/

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