用javascript擷取和設定style

來源:互聯網
上載者:User

好久沒寫了
中間過了個十一,在家混沌過了好幾天

回來轉眼上了一星期班了,忙的屁滾尿流
一年前的系統要增加兩個大功能,200多個報表要挨個修改,報表校正的頁面效果客戶又提出了建立議,一個字 改

從昨天晚上開始搗鼓到現在終於解決了一個問題,心情好了些,上來寫寫,哈哈

這兩天用了baidu 百度空間中的快顯視窗js,感覺不錯,很強大,很好很簡單的解決了好幾個問題,介面友好度以及美化也好多了,以前都是硬邦邦window.open();

有興趣的朋友搜尋"百度 popup"就好了,已經有人給出了注釋,強大。

最有意思的是用javascript擷取和設定style

DOM標準引入了覆蓋樣式表的概念,當我們用document.getElementById("id").style.backgroundColor 擷取樣式時 擷取的只是id中style屬性中設定的背景色,如果id中的style屬性中沒有設定background-color那麼就會返回空,也就是說如果id用class屬性引用了一個外部樣式表,在這個外部樣式表中設定的背景色,那麼不好意思document.getElementById("id").style.backgroundColor 這種寫法不好使,如果要擷取外部樣式表中的設定,需要用到window對象的getComputedStyle()方法,代碼這樣寫window.getComputedStyle(id,null).backgroundColor
但是相容問題又來了,這麼寫在firefox中好使,但在IE中不好使
兩者相容的方式寫成
window.getComputedStyle?window.getComputedStyle(id,null).backgroundColor:id.currentStyle["backgroundColor"];
如果是擷取背景色,這種方法在firefox和IE中的傳回值還是不一樣的,IE中是返回"#ffff99"樣子的,而firefox中返回"rgb(238, 44, 34) "
值得注意的是:window.getComputedStyle(id,null)這種方式不能設定樣式,只能擷取,要設定還得寫成類似這樣id.style.background="#EE2C21";

參考:
JavaScript權威指南
http://bokee.shinylife.net/blog/article.asp?id=817
http://book.csdn.net/bookfiles/679/10067921329.shtml

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.