document.head.appendChild或document.createElement在IE中不起作用

时间:2012-04-15 02:47:21

标签: javascript internet-explorer

我在html文档的头部运行了一个脚本,它可以在除了Internet Explorer之外的每个浏览器中运行。在Opera,Safari,Chrome,Firefox,Internet Explorer中测试过。

我的代码如下:

<html>
  <head>
    <script type = "text/javascript">
      var date = new Date();
      var month = date.getMonth() + 1;
      if (month >= 3 && month <= 5)
      {
        var NewScript = document.createElement("script");
        NewScript.type = "text/javascript";
        NewScript.src = "source1.js";
        var NewStyles = document.createElement("link");
        NewStyles.rel = "stylesheet";
        NewStyles.type = "text/css";
        NewStyles.href = "css1.css";
        document.head.appendChild(NewScript);
        document.head.appendChild(NewStyles);
      }
      else
      {
        var NewScript = document.createElement("script");
        NewScript.type = "text/javascript";
        NewScript.src = "source2.js";
        var NewStyles = document.createElement("link");
        NewStyles.rel = "stylesheet";
        NewStyles.type = "text/css";
        NewStyles.href = "css2.css";
        document.head.appendChild(NewScript);
        document.head.appendChild(NewStyles);
      }
    </script>
  </head>
  <body>
  <!-- MY CONTENT GOES HERE -->
  </body>
</html>

我不确定它是不是在IE中工作的document.createElement或document.head.appendChild。如前所述,它可以在我测试过的所有其他浏览器中使用。对此的帮助将非常感激,因为我将继续自己找到问题/解决方案。谢谢!

2 个答案:

答案 0 :(得分:36)

尝试使用document.getElementsByTagName('head')[0]代替document.head

答案 1 :(得分:0)

尝试使用 document.head.appendChild 而不是 append