javascript 动态样式添加的简单实现
JavaScript动态样式添加:轻松实现与全浏览器兼容
在网页开发中,动态添加样式是一项常见的需求。无论你是需要异步加载CSS文件还是动态添加CSS模块,JavaScript都能帮你轻松实现。这篇文章将向你展示如何在所有浏览器中,包括IE,实现这一功能。
一、异步加载CSS文件
当你点击“css文件”按钮时,将会调用createLink函数来异步加载CSS文件。这个函数会创建一个link元素,并将其添加到head标签中。这样,你的CSS样式就会生效了。这是实现动态样式添加的一种常见方法。
二、解决IE中的兼容性问题
在IE浏览器中,将style标签视为一个特殊的节点,不允许访问其子节点。为了解决这个问题,我们可以尝试访问元素的styleSheet属性,该属性有一个CSSText属性,可以接受CSS代码。当在IE中使用createModule函数创建style标签时,如果抛出异常,我们就使用这种方法来添加CSS代码。
下面是一个简单的示例:
```html
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);
}
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) { //如果在IE中抛出异常,使用下面的方法解决兼容性问题
if (style.styleSheet) { //如果存在styleSheet属性,则使用它添加样式代码
style.styleSheet.cssText = css;
} else { //否则直接设置样式文本内容(适用于非IE浏览器)
stylenerHTML = css;
}
}
document.getElementsByTagName("head")[0].appendChild(style); //将style元素添加到head标签中
}
``` 这就是长沙网络推广为大家带来的JavaScript动态样式添加的简单实现全部内容。无论你是需要异步加载CSS文件还是动态添加CSS模块,这个函数都能满足你的需求。我们还解决了在IE浏览器中的兼容性问题。希望大家多多支持狼蚁SEO~以上就是使用JavaScript动态添加样式的简单实现方式。
编程语言
- javascript 动态样式添加的简单实现
- PHP处理数组和XML之间的互相转换
- PHP精确到毫秒秒杀倒计时实例详解
- asp模板引擎终结者(WEB开发之ASP模式)
- 一个AJAX自动完成功能的js封装源码[支持中文]第
- 如何给MD5加上salt随机盐值
- php获取文件类型和文件信息的方法
- JavaScript如何实现对数字保留两位小数一位自动补
- 基于jQuery实现的单行公告活动轮播效果
- 浅析.net策略模式
- vuex vue简单使用知识点总结
- vue使用better-scroll实现下拉刷新、上拉加载
- 如何获取文件的名称和扩展名?
- 程序员 代码是从头编还是使用框架好呢?
- php生成二维码的几种方式整理及使用实例
- JavaScript转换数据库DateTime字段类型方法