国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

jQuery 源碼系列(十七)css 相關操作

xbynet / 3338人閱讀

摘要:而且它還是只讀的屬性,所以通過來改變樣式,如果不能修改文件的情況下,只能采用內聯。一般的思路就是,先看看有沒有內聯,如果沒有內聯,就走一般流程。

歡迎來我的專欄查看系列文章。

樣式操作也是 jQuery 比較常用的一個操作,就我本人而言,這個 css 函數用多了,感覺自己有點傻乎乎的,主要還是自己不了解 js 中 css 的真正含義。

不過現在不怕了。

開始之前,先拋開 jQuery,我們來看看一個有趣的面試題(據說是一道微信面試題)。

一道很有深度的面試題

用原生的 js 獲得一個 HTML 元素的 background-color,當然,這只是一個引入,為什么不是 color,為什么不是 font-size?

css 渲染的優先級

寫過 css 樣式的同學都知道,css 是有優先級區分的,!important優先級最高,內聯優先級其次,id,類和偽類,元素和偽元素。優先級會按照順序依次比較,同一級別相同則看下一級別,優先級相同,后面會覆蓋前面。

比如,就像理科生排成績,規定 總分 > 數學 > 語文 > 英語,如果 A,B 兩人總分一樣,就看數學成績誰高,數學成績一樣,就看語文成績誰高,以此類推。

記得在一家公司實習的時候(初學者),那個時候修改網站的主頁樣式,由于找不到樣式對應,就大量使用 !important,并把所有樣式都寫在樣式標的最后,估計,后面接手的人要氣炸吧。

問題來了,對于任意的一個 elem,DIV 也好,P 也好,都只會保留一個 style 樣式表,一般可以通過 getComputedStyle 函數或 IE 的 currentStyle 參數活動(萬惡的 IE,現在 jQuery 已經不支持低版本 IE,連淘寶都不支持 IE8 了)。無論這個樣式表是通過前面哪個優先級獲得的,但它一定是唯一且只有一個。而且它還是只讀的屬性,所以通過 JS 來改變樣式,如果不能修改 css 文件的情況下,只能采用內聯。

內聯有兩種,一種是在 elem 上添加一個 style 屬性,還有一種是在 HTMl 新建一個

            <