示例代码如下(兼容主流浏览器和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;