Javascript 访问$(';.class';)中的上一个元素。每个()

Javascript 访问$(';.class';)中的上一个元素。每个(),javascript,jquery,Javascript,Jquery,在$('.class')的特定迭代中,是否有方法访问上一个或下一个元素其中类为“class”的元素不是同级元素 我可以通过遍历DOM树来实现这一点。但我想知道是否有更具体、更优雅的解决方案 当前代码: $('.slider-range').each(function(index){ var temp = $(this).closest('.panel').next('.panel').find('.slider-range'); //do something with t

$('.class')的特定迭代中,是否有方法访问上一个或下一个元素其中类为“class”的元素不是同级元素

我可以通过遍历DOM树来实现这一点。但我想知道是否有更具体、更优雅的解决方案

当前代码:

$('.slider-range').each(function(index){
  var temp = $(this).closest('.panel').next('.panel').find('.slider-range');        
  //do something with temp
});
您必须“存储”变量中的“选定”项,并使用传递给回调的索引,如下所示:

var range = $('.slider-range');
range.each(function(index){
    var temp = index > 0 ? range[index - 1] : null;        
    //do something with temp
});
我在索引的值上添加了一个条件,使
temp
变量
null
如果索引为
0


编辑:使用
索引-1
更正以“选择”上一项。

在循环中,您可以访问jquery对象集合中的当前
索引

$('.slider-range').each(function(index){
  var temp = $(this).closest('.panel').next('.panel').find('.slider-range');        

  //do something with temp
});
您可以使用此选项获取该集合中的任何其他项:

var items = $(".slider-range");
items.each(function(index) {
    if (index > 0)  {
        var prev = items[index-1];
        // do something with prev
    } 
});

@SudharsanS“他们不是兄弟姐妹的地方”需要HTML来知道兄弟姐妹在哪里以及周围其他元素的位置,你不这么认为吗?@zer00ne不太可能,no@kd394取决于“previous元素”与“.prev()元素”的定义。OP知道他们不能使用.prev(),因为他们不是兄弟姐妹,所以问题就来了。@freedomn-m我需要它来制作一个有效的演示,这会花费我太长的时间去猜测。