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 相关文章推荐
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
Apr 12 Javascript
转换json格式的日期为Javascript对象的函数
Jul 13 Javascript
jquery中使用ajax获取远程页面信息
Nov 13 Javascript
HTML复选框和单选框 checkbox和radio事件介绍
Dec 12 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
Mar 03 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
微信小程序跳转到其他网页(外部链接)的实现方法
Sep 20 Javascript
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
Apr 11 Javascript
el-form 多层级表单的实现示例
Sep 10 Javascript
js实现自定义滚动条的示例
Oct 27 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php过滤HTML标签、属性等正则表达式汇总
2014/09/22 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
2015/08/23 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】
2018/04/27 PHP
Javascript 遍历页面text控件详解
2014/01/06 Javascript
checkbox勾选判断代码分析
2014/06/11 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
Angularjs 1.3 中的$parse实例代码
2017/09/14 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
Vue2.X 通过AJAX动态更新数据
2018/07/17 Javascript
JS 封装父页面子页面交互接口的实例代码
2019/06/25 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
在Python的Django框架中为代码添加注释的方法
2015/07/16 Python
Python实现的双色球生成功能示例
2017/12/18 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
python+opencv实现车牌定位功能(实例代码)
2019/12/24 Python
python 监控logcat关键字功能
2020/09/04 Python
Silk’n激光脱毛器官网:silkn.com
2016/10/06 全球购物
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
委托与事件是什么关系?为什么要使用委托
2014/04/18 面试题
拖鞋店创业计划书
2014/01/15 职场文书
原料仓管员岗位职责
2014/04/12 职场文书
高三毕业典礼演讲稿
2014/05/13 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2014年四风个人对照检查及整改措施
2014/10/28 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
大学生创业计划书
2019/06/24 职场文书