如何从jQuery选择中获取上一个或下一个元素?
基本上我会有一组要素,说所有的输入:
$('input')
当我有一个单一的输入,我也需要得到上一个和下一个输入。
就像是:
$(this).prev('input') $(this).next('input')
然而,输入不是兄弟,我不想只是下一个DOM元素。我想要jQuery选择中的下一个元素(在这种情况下为输入)。
我知道我可以通过jQuery选择来迭代
.each(function(...
但我不需要去所有的元素,只是前后的一个元素。
元素也将被动态排序(使用jQuery UI排序)。
解决方法
你可以这样做:
var inp = $('input'); var index = inp.index(this); var next = inp[index+1]; var prev = inp[index-1];
注意prev和next,就像这样不是jQuery对象,而是DOM对象。要使它们成为jQuery对象,您需要将它们包装在$()函数中。