javascript 动态样式添加的简单实现


Posted in Javascript onOctober 11, 2016

异步加载css文件或者异步加载css模块,支持所有浏览器,包括IE,参考至javascript高级编程

1.createLink方法用于创建一个style标签并添加到head标签中

2.createModule方法用于创建一个style样式表的标签,并且如果在IE8以下的版本运行会抛出异常,在异常捕获模块中执行style.styleSheet.cssText兼容IE添加style的样式内容。

<button id="demo">css文件</button>
  <button id="demo1">css模块</button>
  <script type="text/javascript">
    //异步加载css文件,支持所有浏览器
    document.getElementById("demo").onclick = function () {
      createLink("../../css/demo.css");
    }

    function createLink(src) {
      var link = document.createElement("link");
      link.rel = "stylesheet"
      link.type = "text/css";
      link.href = src;
      document.getElementsByTagName("head")[0].appendChild(link);
    }


    //IE将<style>视为一个特殊的与<script>类似的节点,不允许其访问子节点,事实上,IE此时抛出的错误与向<script>元素添加子节点时抛出的错误相同,
    //解决IE中的这个问题的办法就是访问元素的styleSheet属性,该属性又有一个CSSText属性,可以接受css代码
    document.getElementById("demo1").onclick = function () {
      createModule("body{background:green;}");
    }

    function createModule(css) {
      var style = document.createElement("style");
      style.type = "text/css";
      try {
        style.appendChild(document.createTextNode(css));
      } catch (ex) {
        style.styleSheet.cssText = css;
      }
      document.getElementsByTagName("head")[0].appendChild(style);
    }
  </script>

以上就是小编为大家带来的javascript 动态样式添加的简单实现全部内容了,希望大家多多支持三水点靠木~

Javascript 相关文章推荐
ECMAScript 基础知识
Jun 29 Javascript
DOM 中的事件处理介绍
Jan 18 Javascript
js中 关于undefined和null的区别介绍
Apr 16 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
浅析location.href跨窗口调用函数
Nov 22 Javascript
原生js实现可爱糖果数字时间特效
Dec 30 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
Feb 23 Javascript
Vue中this.$router.push参数获取方法
Feb 27 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
微信小程序实现banner图轮播效果
Jun 28 Javascript
JavaScript代码异常监控实现过程详解
Feb 17 Javascript
js中Map和Set的用法及区别实例详解
Feb 15 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 #Javascript
javascript 动态脚本添加的简单方法
Oct 11 #Javascript
js HTML5上传示例代码完整版
Oct 10 #Javascript
JavaScript  event对象整理及详细介绍
Oct 10 #Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 #Javascript
JavaScript 闭包机制详解及实例代码
Oct 10 #Javascript
Javascript 事件冒泡机制详细介绍
Oct 10 #Javascript
You might like
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
如何修改Laravel中url()函数生成URL的根地址
2017/08/11 PHP
javascript学习笔记(四) Number 数字类型
2012/06/19 Javascript
javascript预加载图片、css、js的方法示例介绍
2013/10/14 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
Nodejs如何搭建Web服务器
2016/03/28 NodeJs
js style.display=block显示布局错乱问题的解决方法
2016/09/21 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
在Node.js中将SVG图像转换为PNG,JPEG,TIFF,WEBP和HEIF格式的方法
2019/08/22 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
[03:23]我的刀塔你不可能这么可爱 第一期金萌萌的故事
2014/06/20 DOTA
Windows下使Python2.x版本的解释器与3.x共存的方法
2015/10/25 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
python request 模块详细介绍
2020/11/10 Python
美国最佳在线航班预订网站:LookupFare
2019/03/26 全球购物
电话销售经理岗位职责
2013/12/07 职场文书
医学生职业规划范文
2014/01/05 职场文书
小学生秋游活动方案
2014/02/23 职场文书
《识字五》教学反思
2014/03/01 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
2015元旦主持词开场白和结束语
2014/12/14 职场文书
党员评议自我评价
2015/03/03 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书
PostgreSQL出现死锁该如何解决
2022/05/30 PostgreSQL