請提供洞察這個謎。使用document.getElementById()從css獲取值。style.height javascript
我試圖通過
var high = document.getElementById("hintdiv").style.height;
alert(high);
擺脫一個div框高度值,如果屬性包含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部分。 div框通過屬性定義方法(標籤內或CSS部分)正確顯示。
我也試圖通過其他的變化來訪問值,但沒有運氣
document.getElementById("hintdiv").style.height.value ----> undefined
document.getElementById("hintdiv").height ---->undefined
document.getElementById("hintdiv").height.value ----> error, no execution
任何解決方案?
TIA。
請參閱http://stackoverflow.com/questions/1098349/reading-non-inline-css-style-info-from-javascript和http://stackoverflow.com/questions/1048336/cant-access-css- selectors-properties-from-javascript – 2010-06-16 01:51:50
另請參閱:http://gist.github.com/369133和http://stackoverflow.com/questions/2531737/javascript-incapable-of-getting-elements-max-height-via -element-style-maxheight/ – CMS 2010-06-16 02:14:42
謝謝大家,這當然是意想不到的。我想我會爲這個1(或2個元素)做內聯樣式。 – Jamex 2010-06-16 02:26:27