Javascript jQuery-链接多个.next()方法的替代方法
我有这样一个jQuery代码: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>
$(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()
?@NickZnext()
s的数量是恒定的。它总是4(例如)。也许你只是需要一些tagret练习。@Roamer-1888 booooooSounds很棒。谢谢+1@JoshCrozier也可以使用带有:eq()
@JoshCrozier的下一个同级选择器来实现。不需要查找()
,可以使用上下文
;见帖子
$("~ :eq(3)", this)