gpt4 book ai didi

javascript - 在拆分列表上使用 jQuery .nextUntil()

转载 作者:行者123 更新时间:2023-11-29 18:02:26 26 4
gpt4 key购买 nike

是否有可能让 .nextUntil() 在拆分列表上工作,或者获得相同的功能?


因此,我正在尝试为我的项目实现非常流行的轮类选择,并且由于它们在我的应用程序的列表中排序,我希望能够在 <ul> 之间进行选择边界。

我有以下一组 DOM 元素:

<ul class="current">
<li class="item">first</li>
<li class="item clicked">second</li>
<li class="item">third</li>
<li class="item">fourth</li>
</ul>
<ul class="later">
<li class="item">fifth</li>
<li class="item selected">sixth</li>
<li class="item">seventh</li>
</ul>

并使用这样的东西:

$('li.clicked').nextUntil('li.selected');

我想要一个包含以下元素的列表

[ <li class="item">third</li>,
<li class="item">fourth</li>,
<li class="item">fifth</li> ]

然而,我得到的只是导致 split 的元素 </ul> .有什么办法吗?我也尝试过先用 $('.item') 选择所有项目然后使用 .nextUntil()在他们身上没有任何运气。

最佳答案

这是您要找的吗?

$('li').slice($('li').index($('.clicked'))+1,$('li').index($('.selected')));

供引用

Jquery.Index

Jquery.Slice

编辑

如果你这样做

$('li')

你会得到一个包含所有元素 'li' 的数组:

[<li class=​"item">​first​</li>​, 
<li class=​"item clicked">​second​</li>​,
<li class=​"item">​third​</li>​,
<li class=​"item">​fourth​</li>​,
<li class=​"item">​fifth​</li>​,
<li class=​"item selected">​sixth​</li>​,
<li class=​"item">​seventh​</li>​]

因为它是一个数组,所以你可以将他切片以获得一个子数组,你只需要两个位置,从哪里开始,从这里结束。

//start
$('li').index($('.clicked'))+1 // +1 because you dont want to select him self
//end
$('li').index($('.selected'))

为了更好的性能,你应该在创建一个包含所有 li 的数组之前,这样它就不会搜索所有 dom 3 次以查找 'li' 的数组

var array = $('li');
var subarray = array.slice(array.index($('.clicked'))+1,array.index($('.selected')));

关于javascript - 在拆分列表上使用 jQuery .nextUntil(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33953372/

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