Javascript 如何获取jquery中可见的下一个元素

Javascript 如何获取jquery中可见的下一个元素,javascript,jquery,css,Javascript,Jquery,Css,我有一些元素以及每个元素中的上一个和下一个链接。 就好像我单击next,我只想将一个类添加到下一个可见的div,我想跳过隐藏的div,如果div是隐藏的,则将类添加到隐藏元素之后可见的下一个div。为此我写了这样的东西 $('.next').click(function(){ $('.slide').removeClass('highZindex'); $(this).closest('.slide').next('.slide:visible').addClass('highZin

我有一些元素以及每个元素中的上一个和下一个链接。 就好像我单击next,我只想将一个类添加到下一个可见的div,我想跳过隐藏的div,如果div是隐藏的,则将类添加到隐藏元素之后可见的下一个div。为此我写了这样的东西

$('.next').click(function(){
   $('.slide').removeClass('highZindex');
   $(this).closest('.slide').next('.slide:visible').addClass('highZindex')
})
我只想从所有这些元素中删除添加的类,只需要添加到下一个可见元素中,但是如果单击下一个链接,并且下一个div被隐藏,它将跳过所有元素,直接转到最后一个div,并且类也不会添加到任何元素中

$'.slide'.first.addClass'highZindex'; $'.prev'。单击函数{ $'.slide'.removeClass'highZindex'; $this.closest'.slide'.prev'.slide:visible'.addClass'highZindex' } $'.next'。单击函数{ $'.slide'.removeClass'highZindex'; $this.nest'.slide'.next'.slide:visible'.addClass'highZindex' } .幻灯片{边框:1px实心;高度:200px;宽度:200px;位置:绝对;顶部:0px;左侧:0px;背景色:fff;} .highZindex{z-index:1000} 1. 2. 3. 4. 5. 6. 7只需将“上一个”/“下一个”更改为“上一个”/“下一个”,然后从列表中选择第一项

换行

如果不希望循环上一个btn,可以添加条件:

$('.prev').click(function(){
    if(!($(this).closest('.slide').prevAll('.slide:visible').length == 0)) {
        $('.slide').removeClass('highZindex');
        $(this).closest('.slide').prevAll('.slide:visible').first().addClass('highZindex'); 
    }
})

你真的想用z-index来实现吗?是的,因为它很简单,还有其他方法可以达到同样的结果吗@AndréPachecow为什么不添加一个使用css display:block可见而使用css display:none隐藏的类?使用它,您不需要放置绝对位置,也不需要使用z-index。您将面临的另一个问题是使用。下一个或上一个是,当您到达div中的最后一个元素或第一个元素时,您将无法继续。解决方法是禁用按钮,如果我可以在到达最后一个或第一个元素时立即调用它们。
$('.prev').click(function(){
    if(!($(this).closest('.slide').prevAll('.slide:visible').length == 0)) {
        $('.slide').removeClass('highZindex');
        $(this).closest('.slide').prevAll('.slide:visible').first().addClass('highZindex'); 
    }
})