在将脚本附加到IE时出现“无法获取属性'appendChild'的值:对象为null或未定义”的错误。

7
当我尝试将以下脚本附加到IE时,出现以下错误:“错误:无法获取属性'appendChild'的值:对象为null或未定义”。在Chrome中运行良好,但在IE9上测试时出现此错误。有人可以告诉我这个错误是什么吗?
  // create script in document
    var fbScript = document.createElement("script");
    fbScript.type = "text/javascript";

    // make script source the facebook plugin
    fbScript.src = "http://connect.facebook.net/en_US/all.js#xfbml=1";



    // append script to appropriate tab
    document.getElementById('Tab' + tab_counter).appendChild(fbScript);

它明显找不到 Tab + tab_counter。 - Raynos
Raynos,不是很清楚。我们正在谈论IE浏览器...但是这是一个立即明显的标志。 - Cody
1个回答

11

如果你的 JavaScript 代码在 HTML 的所有部分加载之前运行,就会出现这种情况。尝试将此代码放入一个函数中,并在 onload 事件上触发它,或者使用更优雅的 jQuery onload 事件。示例代码如下:

```javascript $(window).on('load', function() { // your code here }); ```
$().ready(function () {
    var fbScript = document.createElement("script");
    fbScript.type = "text/javascript";

    // Make script source the facebook plugin
    fbScript.src = "http://connect.facebook.net/en_US/all.js#xfbml=1";

    // Append script to appropriate tab
    document.getElementById("Tab" + tab_counter).appendChild(fbScript);

});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接