document.head.appendChild(element)ie ie7和ie8

时间:2013-06-14 02:32:45

标签: javascript appendchild

我有一个问题是在ie7 / 8

中将脚本附加到头部

这是我正在使用的代码

var requireTag = document.createElement('script');
requireTag.setAttribute('type',         'text/javascript');
requireTag.setAttribute('src',          link+ 'require.js');
requireTag.setAttribute('data-main',    link+ 'data');

document.head.appendChild(requireTag);

这是我得到的错误

SCRIPT5007: Unable to get value of the property
'appendChild': object is null or undefined  

我发现了这个createElement error in IE8,并尝试更新我的代码

var appendChild = document.head.appendChild(requireTag);

但仍然得到同样的错误。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:37)

根据https://developer.mozilla.org/en-US/docs/Web/API/document.headhttp://msdn.microsoft.com/en-us/library/gg593004%28v=vs.85%29.aspxdocument.head不适用于IE< 9。只需使用

document.getElementsByTagName('head')[0].appendChild(requireTag);

答案 1 :(得分:15)

我相信这些浏览器不支持document.head

请改为尝试:

var head = document.getElementsByTagName("head")[0];
head.appendChild(requireTag);