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

首頁 > 編程 > JavaScript > 正文

JavaScript動態插入CSS的方法

2019-11-20 11:02:26
字體:
來源:轉載
供稿:網友

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

一、查看樣式表

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

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

 每一個 cssRule 又有如下屬性

其中的 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的方法,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品成人在线| 中文精品99久久国产香蕉| 欧美—级a级欧美特级ar全黄| 欧美精品激情在线观看| 国产精品丝袜白浆摸在线| 深夜精品寂寞黄网站在线观看| 亚洲激情在线观看视频免费| 国产精品扒开腿做| 欧美麻豆久久久久久中文| 欧美黄网免费在线观看| 一个人看的www欧美| 91最新国产视频| www.日韩.com| 992tv成人免费影院| 欧美黑人国产人伦爽爽爽| 精品久久久国产精品999| 亚洲人成在线观看| 亚洲色图日韩av| 中文字幕亚洲图片| 欧美www在线| 精品国产福利视频| 欧美激情亚洲一区| 亚洲网在线观看| 伊人成人开心激情综合网| 久久久久久久一区二区三区| 一本色道久久88亚洲综合88| 精品夜色国产国偷在线| 日韩精品视频观看| 午夜精品久久久久久久男人的天堂| 久久久伊人欧美| 亚洲欧美日韩国产精品| 国产精品视频在线观看| 日韩欧美综合在线视频| 久久人人爽人人| 97婷婷大伊香蕉精品视频| 欧美多人爱爱视频网站| 国产精品亚洲自拍| 日韩风俗一区 二区| 久久久电影免费观看完整版| 久久久www成人免费精品张筱雨| 欧美日韩性视频| 亚洲欧美福利视频| 欧美成人免费观看| 91九色国产视频| 日韩性xxxx爱| 成人欧美在线观看| 欧美精品久久一区二区| 国产精品成人国产乱一区| 亚洲免费伊人电影在线观看av| 久久久久五月天| 91av在线不卡| 亚洲日本欧美中文幕| 精品综合久久久久久97| 成人精品视频99在线观看免费| 欧美精品videos另类日本| 亚洲a区在线视频| 91精品久久久久久久久久久久久| 国产精品99久久99久久久二8| 久久成人人人人精品欧| 成人激情av在线| 日韩电影在线观看永久视频免费网站| 美日韩精品视频免费看| 性欧美视频videos6一9| 91精品国产综合久久男男| 欧美激情亚洲国产| 不卡av日日日| 成人看片人aa| 欧美日韩免费网站| 亚洲男人av在线| 亚洲福利在线观看| 成人网在线免费观看| 亚洲理论在线a中文字幕| 91wwwcom在线观看| 国产91ⅴ在线精品免费观看| 性夜试看影院91社区| 国产亚洲人成a一在线v站| 久久精品国产视频| 欧美寡妇偷汉性猛交| 国产精品久久久久久久久久免费| 日韩在线播放视频| 欧美激情一区二区三区久久久| 国产日韩中文字幕| 久久久亚洲国产| 韩日精品中文字幕| 久久久免费高清电视剧观看| 96精品视频在线| 九九精品在线观看| 日韩经典中文字幕在线观看| 欧美精品手机在线| 午夜精品免费视频| 国产ts一区二区| 国产日韩欧美在线看| 91国内在线视频| www.欧美精品一二三区| 日韩电影视频免费| 97在线免费视频| 久久的精品视频| 日韩免费在线免费观看| 亚洲成人久久久| 日本成人激情视频| 亚洲小视频在线观看| 精品无人区太爽高潮在线播放| 成人精品在线观看| 中文字幕精品国产| 97国产成人精品视频| 日韩在线欧美在线国产在线| 精品视频久久久久久| 亚洲毛片一区二区| 国产精品影片在线观看| 成人黄色中文字幕| 欧美成人免费va影院高清| 亚洲欧美一区二区三区在线| 综合久久五月天| 国产精品揄拍500视频| 欧美国产视频一区二区| 国产精品成人aaaaa网站| 国产成人精品久久二区二区| 久久综合免费视频| 亚洲欧洲国产精品| 国产欧美日韩最新| 欧美孕妇孕交黑巨大网站| 亚洲最大成人在线| 国产精品尤物福利片在线观看| 国产偷亚洲偷欧美偷精品| 国产精品久久久久久网站| 日韩高清电影好看的电视剧电影| 亚洲日韩中文字幕| 国产一区二区三区视频在线观看| 国产区精品视频| 日韩大陆欧美高清视频区| 成人在线精品视频| 88国产精品欧美一区二区三区| 成人www视频在线观看| 亚洲国产日韩欧美在线图片| 欧美成人黑人xx视频免费观看| 亚洲精品视频网上网址在线观看| 成人久久精品视频| 国产精品激情自拍| 国产日韩综合一区二区性色av| 97视频免费在线观看| 日本一本a高清免费不卡| 日韩精品在线观看网站| 色悠久久久久综合先锋影音下载| 亚洲天堂免费观看| 九色精品免费永久在线| 国产视频精品xxxx| 国产日韩精品电影| 国产日韩av在线| 欧美成人精品在线观看| 欧美激情伊人电影| 国产手机视频精品| 亚洲最新av网址| 久久亚洲精品小早川怜子66| 国产精品免费久久久| 亚洲欧美综合区自拍另类| 亚洲一区二区三| 久久99国产精品久久久久久久久| 国产精品亚洲美女av网站| 欧美另类高清videos| 国产精品亚洲аv天堂网| 欧美老肥婆性猛交视频| 亚洲成人网av| 青青a在线精品免费观看| 成人av在线天堂|