Javascript jQuery-链接多个.next()方法的替代方法

Javascript jQuery-链接多个.next()方法的替代方法,javascript,jquery,function,Javascript,Jquery,Function,我有这样一个jQuery代码: $(this).next().next().next().next().html('<span>anything</span>'); 示例2: <button>click it</button> <div>div1</div> <div>div2</div> <span>span1</span> <a>a1</a>

我有这样一个jQuery代码:

$(this).next().next().next().next().html('<span>anything</span>');
示例2:

<button>click it</button>
<div>div1</div>
<div>div2</div>
<span>span1</span>
<a>a1</a>              <!-- target !! and it should be <span>anything</span> -->
<div>div3</div>
<button>click it</button>
<span>span1</span>
<b>b1</b>
<span>span2</span>
<div>div1</div>       <!-- target !! and it should be <span>anything</span> -->
<div>div2</div>
<div>div3</div>
点击它
span1
b1
span2
第一组
第二组
第三组
您可以将以下方法结合使用:

作为旁注,
.eq()
方法接受一个基于零的索引,这意味着
.eq(3)
将选择第四个元素

例子:
$('div.nextAll span:first').nextAll().eq(3).addClass('selected');
$('div.multipleNext span:first').next().next().next().next().next().addClass('selected')
。已选定{
颜色:#f00;
}

1234567
1234567
可以使用,
:eq()
。正如@JoshCrozier所指出的,
.eq()
:eq()
是基于0的索引

$("~ :eq(3)", this)
$(“按钮”)。单击(函数(){
$(“~:eq(3)”,this.html(“任何东西”)
})

点击它
第一组
第二组
span1
a1

div3
@Mohamed Yousef正如我在问题中提到的,我的HTML代码并不总是相同的。。。!所以请给我一个与jQuery代码相同的逻辑。什么告诉你要添加多少个
next()
?@NickZ
next()
s的数量是恒定的。它总是4(例如)。也许你只是需要一些tagret练习。@Roamer-1888 booooooSounds很棒。谢谢+1@JoshCrozier也可以使用带有
:eq()
@JoshCrozier
的下一个同级选择器来实现。不需要查找()
,可以使用
上下文
;见帖子
$("~ :eq(3)", this)