jQuery:找到不是兄弟的下一个元素

And*_*kin 36 javascript jquery

假设我有以下HTML:

<span>
    <span id="x1" class="x">X1</span>
</span>
<span>
    <span>
        <span id="x2" class="x">X2</span>
    </span>
</span>
Run Code Online (Sandbox Code Playgroud)

而且$(this)<span id="x1" ...>.

找到.x与jQuery 匹配的下一个元素的最佳方法是什么?
实际文档的结构是不可预测的,因此提供的HTML只是一个示例.

我不能使用nextAll,因为它只找到兄弟姐妹.
如果我这样做$('.x'),它会找到所有,但我必须迭代/比较.
有更好的解决方案吗?

另见:http://jsfiddle.net/JZ9VW/1/.

Fel*_*ing 43

选择所有带有类的元素x,计算当前元素的索引并获取索引为+ 1的元素:

var $x = $('.x');
var $next = $x.eq($x.index(this) + 1);
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为元素是按文档顺序选择的.您只需.x在页面加载时选择所有元素(如果它们不是动态创建的).