global.getElementById('...')为null或不是对象

时间:2012-08-29 11:33:26

标签: javascript

在我的项目中,我设计了一个JavaScript页面来呈现HTML数据,但是我遇到了上述错误。我的代码是:

global.getElementById('divPartnerGrid').innerHTML = "<table width='100%'><tr><td align='middle' style='vertical-align:middle; position:centre;'><img src='../Content/images/ajax-loader(2).gif'/></td></tr><tr><td align='middle' style='vertical-align:middle; position:centre;'>"+loadingLabel+"...</td></tr></table>"

在运行项目时,它会在此行中断。任何人都可以告诉我,是什么导致了这个错误?

3 个答案:

答案 0 :(得分:0)

我不知道global是什么,但getElementById方法是在document上定义的,所以你可能只想要

document.getElementById('divPartnerGrid').innerHTML = "...";

答案 1 :(得分:0)

global替换为document,即使global是您创建的指向window(或全局范围内的this)的变量,您仍需要一个文档您要在其中搜索元素。

此外,请确保在此脚本运行之前加载页面:如果元素尚未加载,则无法获取该元素

答案 2 :(得分:0)

你可能已经从一个封装了全局变量的例子中复制了全局事物,而你还没有这样做。

这是在下面的示例中完成的,其中文档(可能是您想要使用的其他人已经指出)将文档发送到自我调用函数,以便该范围内的全局实际上将引用文档。

;(function(global) {

    global.getElementById(/* */);

})(document);

这对于可以在服务器上使用的库来说是典型的,其中全局值可能与浏览器中的全局值不同。