使用javascript动态创建style节点
作者:bea
静态外部 css 文件语法: @import url(style.css); 动态外部 css 文件加载的方法有如下: 第一种: var style = document.createElement(’link’); style.href = ’style.css’; style.rel = ’stylesheet’; style.type = ‘text/css’; document.getElementsByTagName(’HEAD’).item(0).appendCh
静态外部 css 文件语法:
@import url(style.css);动态外部 css 文件加载的方法有如下:
第一种:
var style = document.createElement(’link’);style.href = ’style.css’;
style.rel = ’stylesheet’;
style.type = ‘text/css’;
document.getElementsByTagName(’HEAD’).item(0).appendChild(style);
第二种简单:
document.createStyleSheet(style.css);动态的 style 节点,使用程序生成的字符串:
var style = document.createElement(’style’);
style.type = ‘text/css’;
style.innerHTML=”body{ background-color:blue; }”;
document.getElementsByTagName(’HEAD’).item(0).appendChild(style);
很遗憾,上面的代码在 ff 里面成功,但是 ie 不支持。从老外论坛得到代码:
sheet.addRule(’body’,'background-color:red’);
成功,但是很麻烦,要把字符串拆开写,长一点的写死。
接着搜,在一个不知道什么国家的什么语言的 blog 上找到代码:
document.createStyleSheet(”javascript:’body{background-color:blue;’”);成功,此人实在厉害,但是问题出来了,url 最大 255 个字符,长一点的就不行了,经过 SXPCrazy 提示,改成:
window.style=”body{background-color:blue;”;
document.createStyleSheet(”javascript:style”);
完美解决!!代码:
function blue(){
if(document.all){
window.style="body{background-color:blue;";
document.createStyleSheet("javascript:style");
}else{
var style = document.createElement('style');
style.type = 'text/css';
style.innerHTML="body{ background-color:blue }";
document.getElementsByTagName('HEAD').item(0).appendChild(style);
}
}
猜你喜欢
您可能感兴趣的文章:
- 非常好的一个Javascript下拉菜单
- javascript实现页面关闭前提示是否关闭
- 详细说明常用的Javascript函数(json)
- Javascript实现百分比进度条加载flash
- javascript字符串替换replace的使用
- Jquery插件lazyload的使用和参数说明
- 分享一个ajax对象所有项目用这个就够了
- Javascript实现第二代身份证号码的验证
- 实现兼容IE和Firefox的Javascript方法innerText
- 强大的Jquery构造器$的实现方法
- Jquery实现普通按钮button回车事件
- JS鼠标滑过图片图片切换效果
- JS实现鼠标滑过显示其下拉列表
- this关键字在Javascript中实例讲解
- 改善Jquery代码性能的一些技巧
- 使用Javascript函数验证表单总结
- 使用Javascript如何获取网页地址和参数
- Javascript中数据的类型是如何转换的
- Javascript内置对象arguments