使用jQuery,确定特定元素是否可见的最简单方法是什么?我并不是指在当前视口中可见,而是在页面上。
理想情况下,如果元素或其任何祖先具有CSS规则(例如false
或display: none
),则函数应返回visibility: hidden
。无需担心overflow: hidden
。
答案 0 :(得分:13)
:visible
方法使用is
选择器。
if($('elementSelector').is(':visible')){
//Element is visible
}
答案 1 :(得分:2)
您可以使用is()
方法。
$('#element').is(':visible');
答案 2 :(得分:2)
$('div:visible');
将返回所有可见的divs
。
另外,值得注意jQuery 1.3.2 changelog的这一部分:
在jQuery 1.3.2中,如果浏览器报告的offsetWidth或offsetHeight大于0,则元素是可见的。这意味着如果元素的CSS显示为“none”,或者其任何父/祖先元素的显示为“none” “,或者如果元素的宽度为0且元素的高度为0,则元素将被报告为隐藏。
答案 3 :(得分:0)
http://api.jquery.com/visible-selector/
$('#mydiv').is(":visible");