我可以使用JS确定给定元素的显示CSS样式的当前状态

sir*_*ark 2 javascript css

我希望编写一个简单的javascript函数来切换给定元素的可见性.问题是,在页面加载之后,初始样式是未知的(至少对我而言).如何确定给定元素的显示样式元素的当前值是什么?

Dan*_*rzo 7

来自jQuery/Sizzle源代码:

elem.offsetWidth > 0 || elem.offsetHeight > 0 // visible
elem.offsetWidth === 0 || elem.offsetHeight === 0  // hidden
Run Code Online (Sandbox Code Playgroud)

哪里elem是DOM元素.

现在,我不完全知道为什么,他们说,一个元素是可见的,如果任一尺寸大于零.我会说这两个尺寸应该大于零,因为它有资格作为"可见",但我相信他们知道的更好.(在浏览器中甚至不可能有一个空维度和另一个非零维度).

更新:关于该主题的另一个讨论和一个替代解决方案(虽然没有尝试过):我如何检查一个元素是否真的可见JavaScript?