天天看點

js擷取Html元素的實際寬度高度

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