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 相关文章推荐
JS 的应用开发初探(mootools)
Dec 19 Javascript
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
Aug 12 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
May 12 Javascript
jQuery Ajax使用FormData对象上传文件的方法
Sep 07 Javascript
RequireJs的使用详解
Feb 19 Javascript
JavaScript之生成器_动力节点Java学院整理
Jun 30 Javascript
利用原生js实现html5小游戏之打砖块(附源码)
Jan 03 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
May 09 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
javascript实现时钟动画
Dec 03 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
无线电的诞生过程
2021/03/01 无线电
php代码书写习惯优化小结
2013/06/20 PHP
php程序总是提示验证码输入有误解决方案
2015/01/07 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
jQuery实现点击图片翻页展示效果的方法
2015/02/16 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
JQuery实现超链接鼠标提示效果的方法
2015/06/10 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
基于jQuery实现仿百度首页选项卡切换效果
2016/05/29 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
js实现动态添加上传文件页面
2018/10/22 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
利用Python实现网络测试的脚本分享
2017/05/26 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python绘制随机网络图形示例
2019/11/21 Python
pytorch使用 to 进行类型转换方式
2020/01/08 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python suds访问webservice服务实现
2020/06/26 Python
Python中的流程控制详解
2021/02/18 Python
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
玄武湖导游词
2015/02/05 职场文书
golang中的空接口使用详解
2021/03/30 Python
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python