|
最有意思的是用Javascript獲取和設(shè)置style
DOM標(biāo)準(zhǔn)引入了覆蓋樣式表的概念,當(dāng)我們用document.getElementById("id").style.backgroundColor 獲取樣式時(shí) 獲取的只是id中style屬性中設(shè)置的背景色,如果id中的style屬性中沒(méi)有設(shè)置background-color那么就會(huì)返回空,也就是說(shuō)如果id用class屬性引用了一個(gè)外部樣式表,在這個(gè)外部樣式表中設(shè)置的背景色,那么不好意思document.getElementById("id").style.backgroundColor 這種寫(xiě)法不好使,如果要獲取外部樣式表中的設(shè)置,需要用到window對(duì)象的getComputedStyle()方法,代碼這樣寫(xiě)window.getComputedStyle(id,null).backgroundColor
但是兼容問(wèn)題又來(lái)了,這么寫(xiě)在firefox中好使,但在IE中不好使
兩者兼容的方式寫(xiě)成
window.getComputedStyle?window.getComputedStyle(id,null).backgroundColor:id.currentStyle["backgroundColor"];
如果是獲取背景色,這種方法在firefox和IE中的返回值還是不一樣的,IE中是返回"#ffff99"樣子的,而firefox中返回"rgb(238, 44, 34) "
值得注意的是:window.getComputedStyle(id,null)這種方式不能設(shè)置樣式,只能獲取,要設(shè)置還得寫(xiě)成類(lèi)似這樣id.style.background="#EE2C21";
JavaScript技術(shù):用javascript getComputedStyle獲取和設(shè)置style的原理,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。