js使用getComputedStyle()方法獲取css屬性值

通過js獲取元素css樣式的方法
1.obj.style這個(gè)方法只能獲取寫在html標(biāo)簽的寫在style屬性中的值,而無法獲取定義在style type="text/css'中的屬性

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“> 
<html xmlns=”http://www.w3.org/1999/xhtml“> 
<head> 
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /> 
<title>JS獲取CSS屬性值</title> 
<style type=”text/css”> 
.ss{color:#cdcdcd;} 
</style> 
</head> 
<body> 
<div id=”css88″ class=”ss” style=”width:200px; height:200px; background:#333333″>JS獲取CSS屬性值</div> 
<script type=”text/javascript”> 
alert(document.getElementById(“css88″).style.width);//200px 
alert(document.getElementById(“css88″).style.color);//空白 
</script> 
</body> 
</html> 

2.IE中使用的是obj.currentStyle方法,而FF使用的則是getComputedStyle方法
DOM2級(jí)樣式增強(qiáng)了document.defaultView,提供了getComputedStyle()方法
這個(gè)方法接受兩個(gè)參數(shù):要取得計(jì)算樣式的元素和一個(gè)偽元素字符串,例如:after.如果不需要偽元素,第二個(gè)參數(shù)可以是null,該方法將會(huì)返回一個(gè)CSSStyleDeclaration對(duì)象,其中包含當(dāng)前元素的所有計(jì)算樣式

<!DOCTYPE html> 
<html> 
<head> 
<title>計(jì)算元素樣式</title> 
<style> 
#myDiv { 
background-color:blue; 
width:100px; 
height:200px; 
} 
</style> 
<body> 
<div id ="myDiv" style="background-color:red; border:1px solid black"></div> 
<script> 
var myDiv = document.getElementById("myDiv"); 
var computedStyle = document.defaultView.getComputedStyle(myDiv, null); 
alert(computedStyle.backgroundColor); //"red" 
alert(computedStyle.width); //"100px" 
alert(computedStyle.height); //"200px" 
alert(computedStyle.border); //在某些瀏覽器中是“1px solid black” 
</script> 
</body> 
</head> 
</html>

邊框?qū)傩钥赡芤膊粫?huì)返回樣式表中實(shí)際的border規(guī)則(Opera會(huì)返回密浑,但其它瀏覽器不會(huì))蛙婴。
存在這個(gè)差別的原因是不同瀏覽器解釋綜合屬性的方式不同尔破,因?yàn)樵O(shè)置這種屬性實(shí)際上會(huì)涉及很多其他的屬性。在設(shè)置border時(shí)懒构,實(shí)際上是設(shè)置了四個(gè)邊的邊框?qū)挾取㈩伾掌ⅰ邮綄傩允嵝恰R虼耍词筩omputedStyle.border不會(huì)在所有瀏覽器中都返回值冤灾,但computedStyle.borderLeftWidth則會(huì)返回值。

需要注意的是韵吨,即使有些瀏覽器支持這種功能,但表示值的方式可能會(huì)有所區(qū)別椿疗。例如漏峰,F(xiàn)irefox和Safari會(huì)返回將所有顏色轉(zhuǎn)換成RGB格式届榄。因此,即使getComputedStyle()方法時(shí)铝条,最好多在幾種瀏覽器中測試一下。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末贤壁,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子脾拆,更是在濱河造成了極大的恐慌,老刑警劉巖假丧,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件动羽,死亡現(xiàn)場離奇詭異,居然都是意外死亡运吓,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門谋梭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人瓮床,你說我怎么就攤上這事产镐“” “怎么了癣亚?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長街州。 經(jīng)常有香客問我,道長唆缴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任琐谤,我火速辦了婚禮,結(jié)果婚禮上斗忌,老公的妹妹穿的比我還像新娘。我一直安慰自己眶蕉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布造挽。 她就那樣靜靜地躺著弄痹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪肛真。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天蚓让,我揣著相機(jī)與錄音,去河邊找鬼窄瘟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹄葱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播新蟆,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼右蕊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了饶囚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤萝风,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后规惰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揩晴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年贪磺,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寒锚。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖刹前,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情喇喉,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布衅鹿,位于F島的核電站过咬,受9級(jí)特大地震影響大渤,放射性物質(zhì)發(fā)生泄漏掸绞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一衔掸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧敞映,春花似錦、人聲如沸振愿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至枪孩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔑舞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國打工斗幼, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蜕窿。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像毁兆,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子气堕,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案畔咧? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,754評(píng)論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font誓沸,text-align,li...
    love2013閱讀 2,315評(píng)論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color宿百,font,text-align垦页,li...
    wzhiq896閱讀 1,755評(píng)論 0 2
  • 前天去車站改簽車票干奢,出發(fā)前才知道老站已經(jīng)停止?fàn)I運(yùn)了痊焊,只暫時(shí)作為出站口,乘車薄啥、買票都在新站了。 老車站是有些破舊了罪佳,...
    我是吳掌柜閱讀 387評(píng)論 0 1
  • 馬云曾經(jīng)說過:富人和窮人之間的區(qū)別在于思維黑低,其實(shí)在銷售中赘艳,真正的高手和菜鳥之間也存在思維的區(qū)別克握。為什么那些頂尖高手...
    晴空依然閱讀 262評(píng)論 0 1