当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《jQuery-链接多个.next()方法的替代方法》经验,为你挑选了1个好方法。

我有一个像这样的jQuery代码:

$(this).next().next().next().next().html('anything');

现在我想知道这些.next()功能还有其他选择吗?(像4*next())

注意: .nextUntil()对我没用,因为我没有任何线索可以使用它.nextUntil().(我的HTML结构是动态的.换句话说,它不是常量.有时候最后的元素是a span,有时它是a div等等......)


编辑:以下是我的HTML结构的一些示例:

例1:


div1
div2
span1 a1
div3

例2:


span1
b1
span2
div1
div2
div3

Josh Crozier.. 10

你可以结合.nextAll()/ .eq()方法:

$(this).nextAll().eq(3);

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

例:

$('div.nextAll span:first').nextAll().eq(3).addClass('selected');

$('div.multipleNext span:first').next().next().next().next().addClass('selected');
.selected {
  color: #f00;
}

1234567
1234567


或者,正如评论中所指出的,您还可以使用通用兄弟组合子~:eq()选择器的组合:

$('~:eq(3)', this);

要么:

$(this).find('~:eq(3)');

例:

$('~:eq(3)', 'div.nextAll span:first').addClass('selected');

$('div.multipleNext span:first').next().next().next().next().addClass('selected');
.selected {
  color: #f00;
}

1234567
1234567



1> Josh Crozier..:

你可以结合.nextAll()/ .eq()方法:

$(this).nextAll().eq(3);

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

例:

$('div.nextAll span:first').nextAll().eq(3).addClass('selected');

$('div.multipleNext span:first').next().next().next().next().addClass('selected');
.selected {
  color: #f00;
}

1234567
1234567
推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有