JavaScript中獲取樣式的原生方法小結(jié)
ps:是獲取樣式,不是設(shè)置樣式。若沒(méi)有給元素設(shè)置樣式值,則返回瀏覽器給予的默認(rèn)值。(論壇整理)
1、element.style:只能獲取寫(xiě)在元素標(biāo)簽中的style屬性里的樣式值,無(wú)法獲取到定義在<style></style>和通過(guò)<link href=”css.css”>加載進(jìn)來(lái)的樣式屬性
var ele = document.getElementById('ele');
ele.style.color; //獲取顏色
2、window.getComputedStyle():可以獲取當(dāng)前元素所有最終使用的CSS屬性值。
這個(gè)方法接受兩個(gè)參數(shù):要取得計(jì)算樣式的元素和一個(gè)偽元素字符串(例如“:before”) 。如果不需要偽元素信息,第二個(gè)參數(shù)可以是null。也可以通過(guò)document.defaultView.getComputedStyle(“元素”, “偽類(lèi)”);來(lái)使用
var ele = document.getElementById('ele');
var styles = window.getComputedStyle(ele,null);
styles.color; //獲取顏色
可以通過(guò)style.length來(lái)查看瀏覽器默認(rèn)樣式的個(gè)數(shù)。IE6-8不支持該方法,需要使用后面的方法。對(duì)于Firefox和Safari,會(huì)把顏色轉(zhuǎn)換成rgb格式。
3、element.currentStyle:IE 專(zhuān)用,返回的是元素當(dāng)前應(yīng)用的最終CSS屬性值(包括外鏈CSS文件,頁(yè)面中嵌入的<style>屬性等)。
var ele = document.getElementById('ele');
var styles = ele.currentStyle;
styles.color;
注意:對(duì)于綜合屬性border等,ie返回undefined,其他瀏覽器有的返回值,有的不返回,但是borderLeftWidth這樣的屬性是返回值的
4、getPropertyValue():獲取CSS樣式的直接屬性名稱(chēng)
var ele = document.getElementById('ele');
window.getComputedStyle(ele,null).getPropertyValue('color');
注意:屬性名不支持駝峰格式,IE6-8不支持該方法,需要使用下面的方法
5、getAttribute():與getPropertyValue類(lèi)似,有一點(diǎn)的差異是屬性名駝峰格式
var test = document.getElementById('test');
window.getComputedStyle(test, null).getPropertyValue("backgroundColor");
注意:該方法只支持IE6-8。
下面的獲取樣式方法兼容IE、chrome、FireFox等
function getStyle(ele) {
var style = null;
if(window.getComputedStyle) {
style = window.getComputedStyle(ele, null);
}else{
style = ele.currentStyle;
}
return style;
}
在JQuery中,常用css()獲取樣式屬性,其底層運(yùn)作就應(yīng)用了getComputedStyle以及getPropertyValue方法。
相關(guān)文章
微信小程序?qū)崿F(xiàn)卡片左右滑動(dòng)效果的示例代碼
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)卡片左右滑動(dòng)效果的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05JS/HTML5游戲常用算法之碰撞檢測(cè) 包圍盒檢測(cè)算法詳解【矩形情況】
這篇文章主要介紹了JS/HTML5游戲常用算法之碰撞檢測(cè) 包圍盒檢測(cè)算法,結(jié)合實(shí)例形式詳細(xì)分析了游戲算法中針對(duì)碰撞檢測(cè)的包盒矩形情況下的相關(guān)算法原理與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12JS實(shí)現(xiàn)拼音(字母)匹配漢字(姓名)的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)拼音(字母)匹配(搜索)漢字(姓名)的效果,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-04-04BootStrap的彈出框(Popover)支持鼠標(biāo)移到彈出層上彈窗層不隱藏的原因及解決辦法
彈出框(Popover)與工具提示(Tooltip)類(lèi)似,提供了一個(gè)擴(kuò)展的視圖。本文給大家介紹BootStrap的彈出框(Popover)支持鼠標(biāo)移到彈出層上彈窗層不隱藏的原因及解決辦法,喜歡的朋友參考下吧2016-04-04使用Javascript簡(jiǎn)單實(shí)現(xiàn)圖片無(wú)縫滾動(dòng)
本文簡(jiǎn)單介紹了使用原生javascript實(shí)現(xiàn)簡(jiǎn)單的圖片無(wú)縫滾動(dòng)的方法,并附上示例代碼,推薦給大家,直接可以用在項(xiàng)目中的。2014-12-12JavaScript使用類(lèi)似break機(jī)制中斷forEach循環(huán)的方法
這篇文章主要介紹了JavaScript使用類(lèi)似break機(jī)制中斷forEach循環(huán)的方法,需要的朋友可以參考下2018-11-11取消Bootstrap的dropdown-menu點(diǎn)擊默認(rèn)關(guān)閉事件方法
今天小編就為大家分享一篇取消Bootstrap的dropdown-menu點(diǎn)擊默認(rèn)關(guān)閉事件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08javascript中函數(shù)作為參數(shù)調(diào)用的方法
這篇文章主要介紹了javascript中函數(shù)作為參數(shù)調(diào)用的方法,實(shí)例分析了函數(shù)作為操作調(diào)用的原理與相關(guān)技巧,需要的朋友可以參考下2015-02-02