第一種情況就是寬高都寫在樣式表裡,就比如#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; //寬度