Javascript Can';无法获取显示属性
我正在尝试使用Javascript Can';无法获取显示属性,javascript,dom,Javascript,Dom,我正在尝试使用style.display获取有关元素的display属性。但它什么也不退。 看一看JSFIDLE 警报窗口中没有任何内容 更新 现在我注意到了一些不寻常的事情。每当我内联定义属性时,事情都会发生。但当我在其他方法中应用样式时,它就不起作用了 您可以使用 style.display属性返回直接在元素上设置的值,而不是继承(或计算)的值。但是框div不在任何其他div内。我在CSS中指定了显示。那么这里要计算什么呢?我没有掌握这个事实。元素样式是基于直接基于元素的样式、从父元素继承
style.display
获取有关元素的display
属性。但它什么也不退。
看一看JSFIDLE
警报窗口中没有任何内容
更新
现在我注意到了一些不寻常的事情。每当我内联定义属性时,事情都会发生。但当我在其他方法中应用样式时,它就不起作用了 您可以使用
style.display属性返回直接在元素上设置的值,而不是继承(或计算)的值。但是
框div不在任何其他div内。我在CSS中指定了显示。那么这里要计算什么呢?我没有掌握这个事实。元素样式是基于直接基于元素的样式、从父元素继承的样式和从CSS计算的样式来计算的。样式对象仅保存直接在元素上设置的特性的值。其余的(包括CSS中的)都是计算出来的。看一下标记的副本。哦。可以我现在明白了。谢谢。这非常有帮助。请不要发布代码–只发布答案。解释OP做错了什么,以及为什么你的答案“有效”。每次我尝试这么做时,总是有其他用户比我更快地发布答案,我把时间花在了对OP的回答上,而没有任何回报;)没有什么可以阻止你编辑你的答案来添加更多细节。我发布了我的答案,15秒后(对不起,我记不清了),你因为这个原因否决了我的投票。没有时间作出反应:)。另一次,当我发布我的答案,并在我开始编辑它来解释我为什么发布代码后,另一个用户指责我编辑了我的第一篇文章,这是不对的:/无论如何Thx@RobG我以后会按照你的建议:)我没有投你反对票。如果你编辑了你的帖子,不管是谁,都可以删除否决票(如果他们回来…)。
document.getElementById('button').onclick = function() {
element = document.getElementById('box');
style = window.getComputedStyle(element),
display = style.getPropertyValue('display');
alert(display);
}