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

global.getElementById('...') is null or not an object

本文关键字:对象 null getElementById global      更新时间:2023-09-26

在我的项目中,我设计了一个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>"

在运行该项目时,它将在这一行中断。谁能告诉我,是什么导致了这个错误?

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

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

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

此外,请确保在运行此脚本之前加载了页面:如果还没有加载元素,则无法获得

您可能已经从一个封装了全局变量的示例中复制了全局内容,而您还没有这样做。

这是在以下示例中完成的,其中文档(可能是您想要使用的,正如其他人所指出的),其中文档被发送到self-envoking函数,以便该范围内的global实际引用文档。

;(function(global) {
    global.getElementById(/* */);
})(document);

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