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 相关文章推荐
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
当达到输入长度时表单自动切换焦点
Apr 06 Javascript
window.returnValue使用方法示例介绍
Jul 03 Javascript
使用正则表达式的格式化与高亮显示json字符串
Dec 03 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
JavaScript常用数学函数用法示例
May 14 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
JavaScript实现学生在线做题计时器功能
Dec 05 Javascript
JSON.stringify()方法讲解
Jan 31 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
使用Vant完成通知栏Notify的提示操作
Nov 11 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
浅谈php优化需要注意的地方
2014/11/27 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
2015/02/05 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
JS封装的自动创建表格的实现代码
2016/06/15 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
Python实现根据IP地址和子网掩码算出网段的方法
2015/07/30 Python
使用Python判断质数(素数)的简单方法讲解
2016/05/05 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
ZABBIX3.2使用python脚本实现监控报表的方法
2019/07/02 Python
python+opencv3生成一个自定义纯色图教程
2020/02/19 Python
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
介绍一下write命令
2012/09/24 面试题
亲子活动总结
2014/04/26 职场文书
交通文明倡议书
2014/05/16 职场文书
小学校园文化建设汇报材料
2014/08/19 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
离婚财产处理协议书
2014/09/30 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
学会掌握自己命运的十条黄金法则:
2019/08/08 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android