$('.myclass').parent().prev().prev();
$('.myclass').parent().prev();
$('.myclass');
$('.myclass').parent().next();
$('.myclass').parent().next().next();
如何通过jQuery在一行中选择所有元素?
我想到了这个解决方案,但希望有更好的办法:
$('.myclass').parent().prev().prev().addClass('select_me');
$('.myclass').parent().prev().addClass('select_me');
$('.myclass').addClass('select_me');
$('.myclass').parent().next().addClass('select_me');
$('.myclass').parent().next().next().addClass('select_me');
$('.select_me').fadeOut(); // I select all the previous elements in only 1 line.
您可以使用filter()
和index()
Live Demo
idx = $('.myclass').parent().index();
$('.myclass').parent().siblings().addBack().filter(function(){
return $(this).index() > idx -3 && $(this).index() < idx + 3;
}).addClass('select_me');
现场演示
$('.myclass').each(function(){
currentObject = $(this);
parent = $(this).parent();
$(this).parent().siblings().filter(function(){
return $(this).index() > parent.index() -3 && $(this).index() < parent.index() + 3;
}).add(currentObject).addClass('select_me');
});
像这样?
$.merge($('.myclass'), $('.myclass').parent().siblings()).fadeOut();