IE9在使用javascript添加样式表后重新计算所有样式吗?

时间:2012-06-01 05:35:05

标签: internet-explorer

使用JS向我的文档中添加新的<link rel="stylesheet">后,我希望浏览器能够请求新样式表并应用其样式,IE 9就是这样做的。但是,IE 9未能尊重文档中其他样式的优先级,例如。在随后的样式块中。

给出样式表blue.css,如下所示:

.box { background-color: blue; }

..和这样的文件..

<!DOCTYPE html>
<html>
  <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
    </script>
    <!--- The JS below inserts a stylesheet <link> here --->
    <style>.box { background-color: red; }</style>
  </head>
  <body>
    <div class="box">hello</div>
    <script>
      $(function(){
        $('<link rel="stylesheet" href="blue.css" type="text/css" />')
          .insertBefore($('style'));
      });
    </script>
  </body>
</html>

完成所有操作后,IE 9将显示一个蓝色框,其他浏览器如FF 12或Chrome 19将显示一个红色框。

IE在这里是不是很懒?懒得太好了吗?我应该强制IE使用像thisthis这样的黑客来重新计算所有样式吗?

0 个答案:

没有答案