当我尝试将以下脚本附加到 IE 时,出现此错误:

“错误:无法获取属性‘appendChild’的值:对象为空或未定义”

它在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);

最佳答案

如果您的JavaScript代码在加载HTML的所有部分之前运行,则可能会发生这种情况。尝试将此代码放在函数中并在 onload 事件上触发它。或者使用更优雅的 jQuery onload 事件。它是这样的

$().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);

});

10-05 20:36