当隐藏具有相同类的最后一项时执行某些操作

时间:2015-11-20 19:57:46

标签: jquery html

假设我有几个具有相同类.box的div。当我点击其中一个项目时,我将display: none设置为box。有没有办法找到何时点击具有相同类(或在这种情况下为.box)的最后一个元素hidden?例如,当我点击并隐藏最后一个box时,我想提醒一些事情。

这是https://jsfiddle.net/2Lzo9vfc/139/

我试过这样的事情,但是我不知道如何在点击最后一个时找到并触发它。

if ($('.box:visible').length == 0)
{
  alert('No visible boxes');
}

2 个答案:

答案 0 :(得分:3)

尝试将if语句放入点击操作

$('.box').click(function() {
    $(this).css('display', 'none');

    if ($('.box:visible').length == 0)
    {
      alert('No visible boxes');
    }
});

答案 1 :(得分:0)

当您使用jQuery时,可以使用index()函数获取最后一个元素位置,如下所示:

$('.box').click(function() {
    var clicked = $(this).index();
    // -1 because index starts in 0 
    var len = $('.box').length - 1;
    if (len == clicked)
    {
        alert('No visible boxes');

    }else{
        $(this).css('display', 'none');
    }

});

跑步小提琴:https://jsfiddle.net/2Lzo9vfc/142/