gpt4 book ai didi

Jquery Next/NextAll/NextUntil 具有计数限制

转载 作者:行者123 更新时间:2023-12-03 22:48:05 25 4
gpt4 key购买 nike

我不知道这个问题的答案,这真的让我很恼火,我以为这很简单。我想从选定元素中获取下一个和上一个元素到一个限制(比如 2)。这是一个例子:

<ul>
<li>link 1</li>
<li>link 2</li>
<li>link 3</li>
<li>link 4</li>
<li class='active'>link 1</li>
<li>link 6</li>
<li>link 7</li>
<li>link 8</li>
<li>link 9</li>
</ul>

所以我想选择事件li之前的两个元素和之后的两个元素。我尝试过做类似的事情:$('li.active').nextAll(':eq(2)'); 然后使用 prevAll 将其添加到同一个元素中,但它选择一个元素 2 个兄弟元素离开而不是整个团队。

一定有一种我错过的简单方法,有什么建议吗?

注意我无法编辑 HTML,它是动态生成的。

最佳答案

(至少)有两种方法可以解决这个问题。可以链prevAll()nextAll()进入slice() ,然后使用 add()合并两组:

var $active = $("li.active");
var $around = $active.prevAll().slice(0, 2)
.add($active.nextAll().slice(0, 2));

或者您可以获取 index()的事件元素,使用 slice() 获取该索引周围的同级元素,然后使用 not() 过滤掉事件元素:

var $active = $("li.active");
var activeIndex = $active.index();
var $around = $active.siblings().addBack()
.slice(Math.max(0, activeIndex - 2), activeIndex + 3)
.not($active);

关于Jquery Next/NextAll/NextUntil 具有计数限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19244327/

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