老生常談JavaScript獲取CSS樣式的方法(兼容各瀏覽器)
眾所周知,CSS樣式有三種類型:行內(nèi)樣式、內(nèi)部樣式和外部樣式,JavaScript獲取CSS樣式時(shí)分為兩種情況:行內(nèi)樣式獲取法 和 非行內(nèi)樣式獲取法 。
一、行內(nèi)樣式獲取相對(duì)簡單,通過element.style.attr(元素.style.屬性)即可獲取,示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JavaScript獲取CSS樣式</title> </head> <body> <!-- 給p標(biāo)簽設(shè)置行內(nèi)樣式并添加點(diǎn)擊事件 --> <p style='width: 200px;height: 100px;background: pink' onclick='show()'>博客園--開發(fā)者的網(wǎng)上家園</p> <script type="text/javascript"> function show() { var obj = document.getElementsByTagName('p')[0]; alert(obj.style.width); } </script> </body> </html>
運(yùn)行:
通過element.style.attr即可獲取行內(nèi)樣式屬性值,也可設(shè)置屬性值,形式如:obj.style.width = 300 + 'px';
二‘、非行內(nèi)樣式獲取法,因?yàn)g覽器的不同又分為兩種,即基于IE瀏覽器的 和 非IE瀏覽器的如谷歌火狐等。
1、基于IE瀏覽器的非行內(nèi)獲取法:通過 element.currentStyle['attr']
IE運(yùn)行結(jié)果:
2、基于非IE如火狐谷歌等非行內(nèi)獲取法:通過 getComputedStyle(element.null/偽類)[attr]
火狐運(yùn)行結(jié)果:
二者兼容定法:
總結(jié):以上就是JavaScript獲取CSS樣式的方法,其中獲取非行內(nèi)樣式兼容IE和非IE可通過封裝一個(gè)函數(shù),實(shí)現(xiàn)多次調(diào)用,
切記:非行內(nèi)樣式獲取法,只能獲取不能設(shè)置。
總結(jié)
以上所述是小編給大家介紹的老生常談JavaScript獲取CSS樣式的方法(兼容各瀏覽器),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Openlayers實(shí)現(xiàn)點(diǎn)閃爍擴(kuò)散效果
這篇文章主要為大家詳細(xì)介紹了Openlayers實(shí)現(xiàn)點(diǎn)閃爍擴(kuò)散效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09深入理解javascript動(dòng)態(tài)插入技術(shù)
這篇文章介紹了javascript動(dòng)態(tài)插入技術(shù),有需要的朋友可以參考一下2013-11-11微信小程序?qū)崿F(xiàn)自定義加載圖標(biāo)功能
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)自定義加載圖標(biāo)功能,非常不錯(cuò)具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-07-07JavaScript 設(shè)計(jì)模式 富有表現(xiàn)力的Javascript(一)
javascript設(shè)計(jì)模式是圖靈出版,學(xué)習(xí)中力求每個(gè)章節(jié)都細(xì)看。2010-05-05