在$('.class').each() loop;
的某个迭代中,有没有办法访问上一个或下一个元素?类'class'的元素不是兄弟姐妹?
我能够通过遍历DOM树来完成这项工作。但我想知道是否有更具体和优雅的解决方案。
当前代码:
$('.slider-range').each(function(index){
var temp = $(this).closest('.panel').next('.panel').find('.slider-range');
//do something with temp
});
答案 0 :(得分:1)
你必须"存储" "选择"变量中的项目并使用传递给回调的索引,如下所示:
var range = $('.slider-range');
range.each(function(index){
var temp = index > 0 ? range[index - 1] : null;
//do something with temp
});
我在索引值上添加了条件,如果索引为temp
,则null
变量0
。
修改:更正为index - 1
至"选择"上一个项目。
答案 1 :(得分:0)
在循环中,您可以访问jquery对象集合中的当前index
。
$('.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
}
});