如果我有以下HTML:
<div style="display:none;">
<span id="hello">Hey</span>
</div>
我做alert($("#hello").css("display"));
,它会说“内联”。跨度显然不可见,但由于它没有直接具有display:none;
属性,它仍然表示它是可见的。
如何测试某个DOM元素是否实际可见,即使其父元素或其父元素未显示?
答案 0 :(得分:4)
您可以使用:
if ($('#myitem').is(':visible')){
/*Do some sort of stuff in here */
}
在动画完成之前,动画的项目(例如使用.hide
或.fadeOut
)将“可见”
答案 1 :(得分:2)
if($("#hello").is(":visible")) {
//It's visible!
}
is
方法返回一个布尔值,表示匹配元素的任何是否与该选择器匹配。
答案 2 :(得分:1)
使用$(selector).is(':visible')
答案 3 :(得分:0)
使用.is() function以及:hidden或:visible psuedoselectors:
http://jsfiddle.net/jbabey/ucSVx/
$('#hello').is(':hidden')