亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

JavaScript動態插入CSS的方法

2024-05-06 16:26:05
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JavaScript動態插入CSS的方法,兩個步驟就可以實現JavaScript動態插入CSS
 

寫組件時有時想把一些組件特性相關的 CSS 樣式封裝在 JS 里,這樣更內聚,改起來方便。JS 動態插入 CSS 兩個步驟:創建1、一個 style 對象
2、使用 stylesheet 的 insertRule 或 addRule 方法添加樣式

一、查看樣式表

先看下 document.styleSheets,隨意打開一個頁面

JavaScript動態插入CSS的方法

其中前三個是通過 link 標簽引入的 CSS 文件,第四個是通過 style 標簽內聯在頁面里的 CSS。有如下屬性

JavaScript動態插入CSS的方法

 每一個 cssRule 又有如下屬性

JavaScript動態插入CSS的方法

其中的 cssText 正是寫在 style 的源碼。 

二、動態插入 CSS
首先,需要創建一個 style 對象,返回其 stylesheet 對象

/* * 創建一個 style, 返回其 stylesheet 對象 * 注意:IE6/7/8中使用 style.stylesheet,其它瀏覽器 style.sheet */function createStyleSheet() { var head = document.head || document.getElementsByTagName('head')[0]; var style = document.createElement('style'); style.type = 'text/css'; head.appendChild(style); return style.sheet ||style.styleSheet;}

添加函數 addCssRule 如下

/* * 動態添加 CSS 樣式 * @param selector {string} 選擇器 * @param rules {string} CSS樣式規則 * @param index {number} 插入規則的位置, 靠后的規則會覆蓋靠前的 */function addCssRule(selector, rules, index) { index = index || 0; if (sheet.insertRule) {   sheet.insertRule(selector + "{" + rules + "}", index);  } else if (sheet.addRule) {   sheet.addRule(selector, rules, index);  }}

需要注意,標準瀏覽器支持 insertRule, IE低版本則支持 addRule。
完整代碼如下

/* * 動態添加 CSS 樣式 * @param selector {string} 選擇器 * @param rules {string} CSS樣式規則 * @param index {number} 插入規則的位置, 靠后的規則會覆蓋靠前的 */var addCssRule = function() { // 創建一個 style, 返回其 stylesheet 對象 // 注意:IE6/7/8中使用 style.stylesheet,其它瀏覽器 style.sheet function createStyleSheet() {  var head = document.head || document.getElementsByTagName('head')[0];  var style = document.createElement('style');  style.type = 'text/css';  head.appendChild(style);  return style.sheet ||style.styleSheet; }  // 創建 stylesheet 對象 var sheet = createStyleSheet();  // 返回接口函數 return function(selector, rules, index) {  index = index || 0;  if (sheet.insertRule) {    sheet.insertRule(selector + "{" + rules + "}", index);   } else if (sheet.addRule) {    sheet.addRule(selector, rules, index);   } }}();


如果只支持移動端或現代瀏覽器,可以去掉低版本IE判斷的代碼

/* * 動態添加 CSS 樣式 * @param selector {string} 選擇器 * @param rules {string} CSS樣式規則 * @param index {number} 插入規則的位置, 靠后的規則會覆蓋靠前的,默認在后面插入 */var addCssRule = function() { // 創建一個 style, 返回其 stylesheet 對象 function createStyleSheet() {  var style = document.createElement('style');  style.type = 'text/css';  document.head.appendChild(style);  return style.sheet; }  // 創建 stylesheet 對象 var sheet = createStyleSheet();  // 返回接口函數 return function(selector, rules, index) {  index = index || 0;  sheet.insertRule(selector + "{" + rules + "}", index); }}();

以上就是JavaScript動態插入CSS的方法,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频在线观看网址| 中文字幕av一区| 欧美在线亚洲一区| 日本一欧美一欧美一亚洲视频| 日产精品99久久久久久| 国产精品99久久久久久人| 欧美怡春院一区二区三区| 午夜精品福利在线观看| www.午夜精品| 亚洲视频axxx| 不卡av电影在线观看| 日本精品久久中文字幕佐佐木| 欧美国产精品人人做人人爱| 欧美精品在线观看91| 91中文精品字幕在线视频| 久久久中精品2020中文| 韩曰欧美视频免费观看| 成人精品视频在线| 成人黄色av网| 中文字幕日韩电影| 亚洲免费影视第一页| 国产精品久久久久久久美男| 久精品免费视频| 欧美黑人性生活视频| 久久亚洲综合国产精品99麻豆精品福利| 欧美精品激情在线观看| 欧美日韩精品在线视频| 国产成人精品在线观看| 欧美激情一区二区三区久久久| 久久久97精品| 国产精品欧美亚洲777777| 爽爽爽爽爽爽爽成人免费观看| 欧美成人第一页| 九九精品在线观看| 国产不卡一区二区在线播放| 亚洲综合中文字幕68页| 国产亚洲精品va在线观看| 精品视频9999| 九九热这里只有精品免费看| 亚洲色图17p| 久久精品中文字幕电影| 影音先锋日韩有码| 亚洲三级av在线| 国产精品看片资源| 亚洲一区免费网站| 少妇高潮久久久久久潘金莲| 欧美激情网站在线观看| 国产日韩精品在线观看| 欧美在线视频观看免费网站| 国产在线视频不卡| 亚洲激情视频网| 911国产网站尤物在线观看| 日韩欧美在线视频免费观看| 欧美成aaa人片免费看| 日韩美女视频在线观看| 久久五月天色综合| 国产精品视频免费观看www| 欧美精品videofree1080p| 国产乱人伦真实精品视频| 国产日韩精品视频| 国内精品在线一区| 在线观看欧美成人| 狠狠躁夜夜躁人人爽超碰91| 亚洲视频电影图片偷拍一区| 欧美成人午夜激情视频| 色综合久久久久久中文网| 精品久久久久久久中文字幕| 久久久精品久久久| 欧美福利视频在线观看| 久久久免费av| 欧美极品少妇xxxxx| 97视频在线看| 国产不卡一区二区在线播放| 51精品在线观看| 精品国产一区二区三区久久久| 日韩动漫免费观看电视剧高清| 亚洲成人av片| www.久久草.com| 久久影视电视剧免费网站清宫辞电视| 亚洲资源在线看| 国产亚洲欧美另类中文| 欧美日韩国产一区二区三区| 午夜精品久久久久久久99热浪潮| 欧美在线中文字幕| 久久在精品线影院精品国产| 国产精品丝袜久久久久久不卡| 亚洲欧美中文字幕| 精品久久久一区二区| 69国产精品成人在线播放| 色先锋久久影院av| 国产一区二区欧美日韩| 狠狠操狠狠色综合网| 免费不卡欧美自拍视频| 国产精品视频导航| 欧美区在线播放| 欧美极品美女电影一区| 777777777亚洲妇女| 亚洲视频在线免费观看| 成人黄色激情网| 亚洲日韩中文字幕| 久久精视频免费在线久久完整在线看| 国内精品在线一区| 亚洲aⅴ男人的天堂在线观看| 国产一区二区三区毛片| 亚洲第一中文字幕| 亚洲精品第一页| 日韩精品在线看| 久久青草福利网站| 美女精品久久久| 精品无人区太爽高潮在线播放| 亚洲精品国产综合久久| 日韩欧美在线看| 亚洲精品99久久久久中文字幕| 中文字幕亚洲一区| 国产又爽又黄的激情精品视频| 日韩在线视频线视频免费网站| 日韩欧美成人网| 中文字幕亚洲欧美日韩高清| 久久99精品国产99久久6尤物| 色偷偷噜噜噜亚洲男人| 国产精品爽爽爽爽爽爽在线观看| 国产一区深夜福利| 色噜噜狠狠狠综合曰曰曰88av| 亚洲一区二区三区四区视频| 91高潮精品免费porn| 午夜精品三级视频福利| 亚洲人成电影在线观看天堂色| 亚洲午夜精品视频| 中文字幕亚洲国产| 日韩不卡中文字幕| 一区二区三区久久精品| 国产精品热视频| 亚洲欧美日韩在线高清直播| 中文字幕亚洲一区二区三区五十路| 日韩一级裸体免费视频| 91精品久久久久久久久不口人| 亚洲人成网站色ww在线| 亚洲男人天堂古典| 亚洲天堂av在线免费观看| 一区二区三区四区在线观看视频| 欧美日韩国产成人| 黄色一区二区在线| 亚洲成色www8888| 91视频国产精品| 伊人久久男人天堂| 亚洲aⅴ日韩av电影在线观看| 91在线播放国产| 日本精品一区二区三区在线| 日韩av成人在线| 国产日韩欧美在线视频观看| 亚洲精品动漫久久久久| 91丝袜美腿美女视频网站| 亚洲aaa激情| 亚洲国产天堂久久综合网| 欧美另类交人妖| 麻豆国产va免费精品高清在线| 午夜美女久久久久爽久久| 亚洲电影免费观看高清完整版在线| 国产精品久久久久久久7电影| 欧美精品在线视频观看| 成人h视频在线观看播放| 日韩精品在线免费观看| 亚洲白虎美女被爆操| 狠狠躁夜夜躁久久躁别揉|