gpt4 book ai didi

jquery - 如何在 jQuery 中选择每 n 个特定子元素?

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

我有这个标记:

<div id="container">

<h1>Heading</h1>

<p>Some text</p>

<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<!-- ... same thing on down the page ... -->
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>

</div>

我想为每四个 div 添加一个类。这是我期望可以工作的 jQuery:

$('div.foo:nth-child(4n)').addClass('bar');

但结果是:

<div id="container">

<h1>Heading</h1>

<p>Some text</p>

<div class="foo">Some stuff</div>
<div class="foo bar">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo bar">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo bar">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo bar">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>
<div class="foo">Some stuff</div>

</div> <!-- #container -->

所以,显然所有子元素都被计算在内,并且只有匹配的元素才会添加类。我可以考虑其他两个元素并使用 :nth-child(4n+2) ,但我不能总是指望在我的 div 之前恰好有两个元素s。

是否有一个类似 nth-child 的选择器(或方法),在计数时只考虑指定元素?

最佳答案

您可以使用过滤函数来获取每 4 个元素,如下所示:

$('div.foo').filter(function(index){
return (index%4 == 3);
}).addClass('bar');

工作示例@:

http://jsfiddle.net/wCxSv/

关于jquery - 如何在 jQuery 中选择每 n 个特定子元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5006604/

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