找到不是立即的下一个元素?

Log*_*man 21 jquery traversal

我想在类计数器之后找到第一个span元素,代码如下:

<div class="counter"></div>
<p></p>
<span></span>
Run Code Online (Sandbox Code Playgroud)

似乎next()函数只找到了下一个元素,所以像这样:

$(".counter").next("span")
Run Code Online (Sandbox Code Playgroud)

不行.我一直在使用的方式有点冗长,我想知道是否有更短的方式,它是这样的:

$(".counter").nextAll("span").eq(0)
Run Code Online (Sandbox Code Playgroud)

我认为closest()jQuery 3中的方法可以解决这个问题,但我使用的是1.2.6 - 是否有更好的方法(我只是使用了next()错误?)

Nic*_*sen 17

与标记的答案类似,但使用:first选择器看起来更干净:

$('.counter').nextAll('span:first')
Run Code Online (Sandbox Code Playgroud)


Pim*_*ger 8

我认为你的方法是最好的方法.如果你觉得它看起来不太好就把它变成一个插件:

jQuery.fn.firstAfter = function(filter){
 return this.nextAll(filter).eq(0);
}
Run Code Online (Sandbox Code Playgroud)