平時我們習慣用ele.style.attr給元素設置我們想要的樣式,但是,要注意一點,我們用ele.style.attr設置的樣式是內聯樣式(行內樣式),並且用ele.style.attr獲取樣式時,如果不是行內樣式,那么得到的是一個空值,無法獲取。
那么,如何能獲取到行內樣式外的樣式呢?有兩種方法:currentStyle,getComputedStyle(它們只能獲取屬性值,不能設置)
currentStyle:該屬性只兼容IE,不兼容火狐和谷歌
寫法:ele.currentStyle["attr"]或者ele.currentStyle.attr;
getComputedStyle:該屬性是兼容火狐谷歌,不兼容IE
寫法:window.getComputedStyle(ele,null)[attr]獲取是window.getComputedStyle(ele,null).attr
有一種兼容的方法是將它們封裝成一個函數,需要的時候可以調用:
function getStyle(ele,attr){ return getComputedStyle ? getComputedStyle(ele)[attr] : ele.currentStyle[attr]; }
注意:IE中獲取到的顏色是十六進制格式的,FF中獲取到的是rgb格式的。