java script 动态创建 css

Javascript动态创建Style节点 第一种:

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 不支持。从老外论坛得到代码:

var sheet = document.createStyleSheet();
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”);

完美解决!!代码:








你可能感兴趣的:(CSS,Java,JavaScript,IE,Blog)