gpt4 book ai didi

jquery - 结合jQuery :not and :nth-child selectors

转载 作者:行者123 更新时间:2023-11-30 23:48:59 26 4
gpt4 key购买 nike

$j('.select-all-these:not(.except-these):nth-child(3n)');

我正在尝试选择每三个没有特定类别的项目。这是我的 jQuery 选择器,但它不起作用 - 似乎 :nth-child 选择器忽略了 :not 选择器。我做错了吗?

举个例子,它应该是这样工作的:

.select-all-these.except-these
.select-all-these.except-these
.select-all-these.except-these
.select-all-these
.select-all-these.except-these
.select-all-these
.select-all-these <-- THIS ONE IS SELECTED
.select-all-these.except-these

谢谢! :)

最佳答案

我认为实现这项工作的唯一方法是使用两个 filter() 调用:

$('.select').filter(
function(){
return !$(this).hasClass('dontselect');
}).filter(
function(i){
return (i+1)%3 == 0; // unless you want a zero-based count, regular CSS is one-based
}).css('color','red');

JS Fiddle demo .

不过,您可以使用带有外部变量的单个 filter() 调用:

var count = 0;
$('.select').filter(
function(){
console.log(!$(this).hasClass('dontselect'));
if (!$(this).hasClass('dontselect')){
count++;
return count%3 == 0;
}
}).css('color','red');

JS Fiddle demo .

JS Perf 报告 single filter is, unsurprisingly, a little faster ,但只是非常、非常非常

引用文献:

关于jquery - 结合jQuery :not and :nth-child selectors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510128/

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