javascript 獲取元素樣式必殺技
Javascript獲取CSS屬性值方法:getComputedStyle和currentStyle
1 .對(duì)于元素的內(nèi)聯(lián)CSS樣式(<div style="color:#369">hello</div>),可以直接使用element.style.color來(lái)直接獲取css屬性的值;
2. 但是對(duì)于外部定義的css樣式使用這種方式就無(wú)法獲取了,而且IE瀏覽器和其他標(biāo)準(zhǔn)瀏覽器(Firefox,Chrome,Opera,Safari)使用的方法不一樣,IE瀏覽器使用element.currentStyle,W3C標(biāo)準(zhǔn)瀏覽器使用getComputedStyle來(lái)獲取。
1. IE獲取元素外部定義的CSS屬性值: element.currentStyle
currentStyle對(duì)象返回了元素上的樣式表,但是style對(duì)象只返回通過(guò)style標(biāo)簽屬性應(yīng)用到元素的內(nèi)嵌樣式。
因此,通過(guò)currentStyle對(duì)象獲取的樣式值可能與通過(guò)style對(duì)象獲取的樣式值不同。
例如,如果段落的color屬性值通過(guò)鏈接或嵌入樣式表設(shè)置為紅色( red ),而不是內(nèi)嵌的話,對(duì)象.currentStyle.color 將返回正確的顏色,而對(duì)象style.color不能返回值。但是,如果用戶指定了 <P STYLE="color:'red'">,currentStyle和STYLE對(duì)象都將返回值 red。
currentStyle對(duì)象反映了樣式表中的樣式優(yōu)先順序。在 HTML 中此順序?yàn)椋?
1) 內(nèi)嵌樣式
2) 樣式表規(guī)則
3) HTML 標(biāo)簽屬性
4) HTML 標(biāo)簽的內(nèi)部定義
2. W3C獲取元素外部定義的CSS屬性值: window.getComputedStyle(element, pseudoElt)
element必選,HTML元素
pseudoElt必選,獲取該元素的偽類樣式
function getStyle(node, property){
if (node.style[property]) {
return node.style[property];
}
else if (node.currentStyle) {
return node.currentStyle[property];
}
else if (document.defaultView && document.defaultView.getComputedStyle) {
var style = document.defaultView.getComputedStyle(node, null);
return style.getPropertyValue(property);
}
return null;
}
相關(guān)文章
HTML Table 空白單元格補(bǔ)全的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇HTML Table 空白單元格補(bǔ)全的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10JavaScript 函數(shù)用法詳解【函數(shù)定義、參數(shù)、綁定、作用域、閉包等】
這篇文章主要介紹了JavaScript 函數(shù)用法,結(jié)合實(shí)例形式分析了JavaScript函數(shù)定義、參數(shù)、綁定、作用域、閉包、回調(diào)函數(shù)、柯理化函數(shù)等相關(guān)概念、原理與操作注意事項(xiàng),需要的朋友可以參考下2020-05-05Javascript 浮點(diǎn)運(yùn)算的問題分析與解決方法
JavaScript 只有一種數(shù)字類型 Number ,而且在Javascript中所有的數(shù)字都是以IEEE-754標(biāo)準(zhǔn)格式表示的。 浮點(diǎn)數(shù)的精度問題不是JavaScript特有的,因?yàn)橛行┬?shù)以二進(jìn)制表示位數(shù)是無(wú)窮的2013-08-08javascript為下拉列表動(dòng)態(tài)添加數(shù)據(jù)項(xiàng)
這篇文章主要介紹了javascript如何為下拉列表動(dòng)態(tài)添加數(shù)據(jù)項(xiàng),需要的朋友可以參考下2014-05-05