示例代码如下(兼容主流浏览器和ie6以上的ie浏览器):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title></title> <style></style> </head> <body> <div id="test"></div> </body> <script src="../lib/jquery-1.8.3.min.js"></script> <script> var style = document.createElement("style"); style.type = ‘text/css‘; $("body").append(style); var sheet = style.sheet ? style.sheet : style.styleSheet; if(sheet.insertRule){ sheet.insertRule("#test{width:100px;height:100px;background:red;}",0); } else { sheet.addRule("#test", "width:100px;height:100px;background:red;", 0); } </script> </html>
以下两句代码不能互换顺序,否则在大多数浏览器上无法获取sheet(浏览器吧style当做一个普通的dom处理,而不是一个样式表)
$("body").append(style); var sheet = style.sheet ? style.sheet : style.styleSheet;
js创建和修改外部样式,批量调整元素的表现,布布扣,bubuko.com
原文:http://my.oschina.net/cnlw/blog/294707