1

我正在尝试确定特定的可见性<div>,但我的检查始终显示它是可见的。我正在使用以下代码:

if($('.stg_gall_cro_cnt').is(":visible")) {
    var visi="yes";
} 
else {
    var visi="no";
}
alert(visi);

每次运行此检查时,警报都会显示“是”,即使<div>它不可见。有人可以帮忙吗?

的 css.stg_gall_cro_cnt默认设置为:

visibility:hidden;
4

2 回答 2

3
if($('.stg_gall_cro_cnt').css('visibility') === 'hidden'){
    // hidden
}else{
    // visible
}
于 2012-08-11T03:13:49.717 回答
2

选择:visible器只匹配渲染文档中不占用空间的元素。visibility设置为占用空间的元素,hidden因此 jQuery 认为它们是可见的。

您需要display: none在 CSS 中设置使用is(':visible')css('visibility') == 'hidden'在 jQuery 中使用visibility: hidden.

于 2012-08-11T03:13:15.927 回答