获取具有相同类的下一个元素
我对具有特定类的元素使用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); });