我正在尝试确定特定<div>
的可见性,但我的检查始终将其显示为可见。我使用以下代码:
if($('.stg_gall_cro_cnt').is(":visible")) {
var visi="yes";
}
else {
var visi="no";
}
alert(visi);
每次执行此检查时,即使<div>
不可见,警报也会显示“是”。有人可以帮忙吗?
.stg_gall_cro_cnt
的css默认设置为:
visibility:hidden;
答案 0 :(得分:3)
if($('.stg_gall_cro_cnt').css('visibility') === 'hidden'){
// hidden
}else{
// visible
}
答案 1 :(得分:2)
:visible
选择器仅匹配在渲染文档中不占空间的元素。 <{1}}设置为visibility
的元素占用空间,因此jQuery认为它们可见。
您需要在CSS中设置hidden
以使用display: none
达到预期效果,或在jQuery中使用is(':visible')
以css('visibility') == 'hidden'
完成此操作。