获取具有相同类的下一个元素

我对具有特定类的元素使用click事件。 在click事件函数中,我需要使用相同的类获取页面上的下一个元素。 我试过了:

$('.class').click(function() { var $next = $(this).next('.class') }); 

和:

 $('.class').click(function() { var $next = $(this).parent().parent().parent().next('.class') }); 

.class是表中td内的div,这就是为什么三次parent()。

我的HTML是这样的(.class是.drag):

 
.. (koreňový adresár)
aaa
subaaa

你可以试试:

 $(".drag").click(function() { var draggables = $(this).parents("table").find(".drag"); var $next = draggables.filter(":gt(" + draggables.index(this) + ")").first(); }); 

这个怎么样? 你应该检查一个一个错误,因为我还没有测试过。

 $('.class').click(function () { var index = $('.class').index($(this)); var $next = $('.class').slice(index+1,index+2); ... }); 

您可以使用slice()each()

 var elements = $('.class'); elements.each(function(index, element) { $(this).click(function() { var $next = elements.slice(index+1, index+2); }); }); 

DEMO

或者(尽管可能效率较低)将获得对共同祖先的引用并使用slice()index()

 $('.class').click(function() { var elements = $(this).closest('table').find('.class'); var index = elements.index(this); $next = elements.slice(index + 1, index + 2); });