【发布时间】:2011-12-11 18:30:47
【问题描述】:
请提供关于这个谜团的见解。
我正在尝试通过
从 div 框中获取高度值var high = document.getElementById("hintdiv").style.height;
alert(high);
如果属性包含在 div 标签中,我可以得到这个值,但如果属性是在 css 部分中定义的,它会返回一个空白值。
这很好,它显示 100px 作为值。可以访问该值。
<div id="hintdiv" style="height:100px; display: none;">
.
.
var high = document.getElementById("hintdiv").style.height;
alert(high);
这不好,它显示一个空白的警报屏幕。该值实际上是 0。
#hintdiv
{
height:100px
display: none;
}
<div id="hintdiv">
.
.
var high = document.getElementById("hintdiv").style.height;
alert(high);
但无论是在标签中还是在 css 部分中,访问/更改“display:none”属性都没有问题。 div 框通过两种属性定义方法(在标签内或在 css 部分中)正确显示。
我也尝试通过其他变体访问该值,但没有运气
document.getElementById("hintdiv").style.height.value ----> undefined
document.getElementById("hintdiv").height ---->undefined
document.getElementById("hintdiv").height.value ----> error, no execution
有什么办法吗?
TIA。
【问题讨论】:
-
谢谢大家,这当然是出乎意料的。我想我会为这 1 个(或 2 个元素)做内联样式。
标签: javascript