级联动态样式表时,IE 中似乎存在错误。有谁知道是否有解决方法?考虑一下:
<head>
<style>#test{background:red;}</style>
</head>
<body>
<div id="test">test</div>
<script>
var link = document.createElement('link');
var style = document.getElementsByTagName('style')[0];
link.rel = 'stylesheet';
link.href = 'test.css';
style.parentNode.insertBefore(link, style);
</script>
</body>
注入的“test.css”包含#test{background:green}
.
即使我们将标签放在标签<link>
之前<style>
,IE7+ 也会用注入的样式表覆盖样式并应用绿色作为背景。
FF/Chrome 以正确的方式执行此操作,并让样式标记优先于注入的链接标记,因此背景保持红色。