gpt4 book ai didi

javascript - 查找某个元素在一定范围内的追随者,这些追随者不是兄弟元素

转载 作者:行者123 更新时间:2023-11-28 15:37:17 25 4
gpt4 key购买 nike

我正在尝试选择我选择的元素的所有以下元素。它们不一定是我选择的元素的直接兄弟,因此 .nextAll() 将不起作用。

这是一个例子:

<div class="scope">
<div> <a href="1">1</a> </div>
<div> <a href="2">2</a> </div>
<div> <a href="3">3</a> </div>
<div> <a href="4">4</a> </div>
</div>

<a href="x">NOT THIS</a>

我的元素是 a[href="2"],所以我想选择 a[href="3"]a[href= "4"],但不是 a[href="x"],因为它不在我的范围内。

我找到了this ,但它只获取一个关注者,但我需要所有关注者。

我刚刚写了这个,效果很好,但对我来说似乎很奇怪,我确信必须有比这个更好的解决方案:

var $two = $('a[href="2"]');

var selection = [];

var comes_after_2 = false;
$two.closest('.scope').find('a').each(function(){
console.log(this, $two.get(0));
if(comes_after_2){
selection.push(this);
}
if(this == $two.get(0)){
comes_after_2 = true;
}
});

$(selection).css('background', 'red');

这里有一个 fiddle 来测试它:http://jsfiddle.net/mnff40fy/1/

如果有更好的解决方案,欢迎修改。谢谢!

最佳答案

var $all_a = $two.closest('.scope').find('a');
// Get the position of the selected element within the set
var a_index = $all_a.index($two);
// Select all the remaining elements in the set
var $followers = $all_a.slice(a_index+1);
$followers.css('background', 'red');

DEMO

关于javascript - 查找某个元素在一定范围内的追随者,这些追随者不是兄弟元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25211393/

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