用js獲取元素的屬性值


平時我們習慣用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格式的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM