Xav*_*avi 2 jquery filter css-selectors jquery-selectors
具有以下DOM结构:
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li class="click_here"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li class="click_here"></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li class="click_here"></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我试图每隔5"li"添加"last"类,但不包括那些有"click_here"类的类.
我发现这不起作用:
$('ul li:not(.click_here)').filter(':nth-child(5n)').addClass('last');
Run Code Online (Sandbox Code Playgroud)
我也尝试了几种方法,比如:
$('ul li').filter(':not(.click_here)').filter(':nth-child(5n)').addClass('last');
$('ul li').not($('.click_here')).filter(':nth-child(5n)').addClass('last')
Run Code Online (Sandbox Code Playgroud)
它似乎没有跳过具有"click_here"类的"li"项目.
所以我最后不得不这样做:
$.each($('ul li').filter(':not(.click_here)'),function(i,v){
if((i+1)%5 == 0) $(this).addClass('last');
});
Run Code Online (Sandbox Code Playgroud)
你有没有人知道我在第一种方法中做错了什么?
非常感谢!
我不认为你可以使用nth-child,但试试吧
$('ul li:not(.click_here)').filter(function (i) {
return i % 5 == 4
}).addClass('last');
Run Code Online (Sandbox Code Playgroud)
演示:小提琴