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 相关文章推荐
客户端限制只能上传jpg格式图片的js代码
Dec 09 Javascript
javascript如何动态加载表格与动态添加表格行
Nov 27 Javascript
For循环中分号隔开的3部分的执行顺序探讨
May 27 Javascript
JS中setTimeout的巧妙用法前端函数节流
Mar 24 Javascript
最常见的左侧分类菜单栏jQuery实现代码
Nov 28 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
简单的JS控制button颜色随点击更改的实现方法
Apr 17 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
详解vue-cli脚手架中webpack配置方法
Aug 22 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 Javascript
Vue父组件向子组件传值以及data和props的区别详解
Mar 02 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
Aug 28 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
模仿OSO的论坛(五)
2006/10/09 PHP
Yii中表单用法实例详解
2016/01/05 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
分享8个Laravel模型时间戳使用技巧小结
2020/02/12 PHP
与jquery serializeArray()一起使用的函数,主要来方便提交表单
2011/01/31 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
一个可以增加和删除行的table并可编辑表格中内容
2014/06/16 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
js实现网页右上角滑出会自动消失大幅广告的方法
2015/02/27 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
正则表达式,替换所有HTML标签的简单实例
2016/11/28 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
jQuery读取本地的json文件(实例讲解)
2017/10/31 jQuery
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
VuePress 中如何增加用户登录功能
2019/11/29 Javascript
Python中__name__的使用实例
2015/04/14 Python
深入理解python中的select模块
2017/04/23 Python
基于python内置函数与匿名函数详解
2018/01/09 Python
python绘制直线的方法
2018/06/30 Python
django之静态文件 django 2.0 在网页中显示图片的例子
2019/07/28 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
Django跨域资源共享问题(推荐)
2020/03/09 Python
详解Python 函数参数的拆解
2020/09/02 Python
python 实现图片裁剪小工具
2021/02/02 Python
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
狼和鹿教学反思
2014/02/05 职场文书
文明班集体申报材料
2014/05/23 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
学习十八大宣传标语
2014/10/09 职场文书
先进个人事迹材料
2014/12/29 职场文书
Docker 镜像介绍以及commit相关操作
2022/04/13 Servers