第一種情況就是寬高都寫在樣式表裡,就比如#div1{width:120px;}。這中情況透過#div1.style.width拿不到寬度,而透過#div1.offsetWidth才可以獲取到寬度。
第二種情況就是寬和高是寫在行內中,比如style="width:120px;",這中情況透過上述2個方法都能拿到寬度。
小結,因為id.offsetWidth和id.offsetHeight無視樣式寫在樣式表還是行內,所以我們獲取元素寬和高的時候最好用這2個屬性。注意如果不是寫在行內style中的屬性都不能透過id.style.atrr來獲取。
現 在的前端製作很少直接把樣式寫style裡了,都是寫在樣式表裡。如果你要獲取的樣式沒有相對應的(就像#div1.style.width對 應#div1.offsetWidth),就只能分別針對不用瀏覽器來獲取樣式表的屬性了,可以試著搜尋“JS 獲取樣式屬性”之類的。
程式碼:
var o = document.getElementById("view"); var h = o.offsetHeight; //高度 var w = o.offsetWidth; //寬度
第一種情況就是寬高都寫在樣式表裡,就比如#div1{width:120px;}。這中情況透過#div1.style.width拿不到寬度,而透過#div1.offsetWidth才可以獲取到寬度。
第二種情況就是寬和高是寫在行內中,比如style="width:120px;",這中情況透過上述2個方法都能拿到寬度。
小結,因為id.offsetWidth和id.offsetHeight無視樣式寫在樣式表還是行內,所以我們獲取元素寬和高的時候最好用這2個屬性。注意如果不是寫在行內style中的屬性都不能透過id.style.atrr來獲取。
現 在的前端製作很少直接把樣式寫style裡了,都是寫在樣式表裡。如果你要獲取的樣式沒有相對應的(就像#div1.style.width對 應#div1.offsetWidth),就只能分別針對不用瀏覽器來獲取樣式表的屬性了,可以試著搜尋“JS 獲取樣式屬性”之類的。
程式碼:
var o = document.getElementById("view"); var h = o.offsetHeight; //高度 var w = o.offsetWidth; //寬度