jQuery是(':visible')是(':hidden')没有按预期工作

时间:2014-01-16 11:18:21

标签: javascript jquery

在下面的这个脚本中,我将元素设置为可见或隐藏,您可以看到。但是,一旦显示.closeAdd,如果脚本到达if语句的第二部分,它将不会隐藏。我注意到jQuery在使用show()时将其设置为display:block。知道如何设置这个吗?

if(type === 'user' && action === 'add') {
    if($('.closeAdd').is(':hidden')) {
        $('.closeAdd').show();
    }
} else { //If it's visible and it comes to this part, it will not hide...
    if($('.closeAdd').is(':visible')) {
        $('.closeAdd').hide();
    }
}

1 个答案:

答案 0 :(得分:1)

由于显示正在更新,您可以在功能中检查它:

if(type === 'user' && action === 'add') {
   if($('.closeAdd').css("display") == 'none') {
     $('.closeAdd').show();
   }
} else { 
   if($('.closeAdd').css("display") == 'block') {
    $('.closeAdd').hide();
   }
}