用js如何取得div中css的 margin、padding、height、border等。你可能說可以直接用document.getElementById("id").style.margin來取得。但是你說的只能取得直接在標籤中寫的style的屬性,無法取得標籤style外的屬性(如css檔案中的屬性)。而下面方法則兩者值都可以獲得。
實例效果圖如下:
js在取得css屬性時如果標籤中無style則無法直接取得css中的屬性,所以需要一個方法可以做到這一點。
getStyle(obj,attr) 呼叫方法說明:obj為物件,attr為屬性名稱必須相容於js中的寫法(可以參考:JS可以控制樣式的名稱寫法)。
Js程式碼
function getStyle(obunction {
var ie = ! "v1";//簡單判斷ie6~8
if(attr=="backgroundPosition"){//IE6~8不相容backgroundPosition寫法,辨識backgroundPositionX/Y
(ie){
return obj.currentStyle.backgroundPositionX " " obj.currentStyle.backgroundPositionY;
obj.currentStyle[attr];
}
else{
return document.defaultView.getComputedStyle(obj,null)[attr];
}
}
完整實例測試代碼:
Html代碼