【问题标题】:'innerHTML': object is null or undefined“innerHTML”:对象为空或未定义
【发布时间】:2012-06-29 06:33:47
【问题描述】:

我有以下:

<div id="valueboxes" style="overflow-x:hidden;overflow-y:scroll;width:100%;height:200px">

但是,每次我使用以下内容时:

document.getElementById("valueboxes").innerHTML = html;

我收到此错误:

'innerHTML': object is null or undefined

我是不是做错了什么?

html 是一个表格变量,由 javascript 在 for 循环中使用 += 附加。

【问题讨论】:

  • 这段代码在哪里执行? DOM 可能还没有准备好进行操作。
  • 您在此问题中包含的代码中没有 HTML。请在“valueboxes”div 中显示 HTML,以便我们为您提供帮助。
  • @AmandaSmith:如果你有很多其他的 DOM 操作正在进行,you might want to check out jQuery。这样,您可以简单地使用$(function(){ /* Your DOM code here * /}); 它也会简化很多其他事情。
  • DomReady事件发生在window.onload之前,你最好使用jQuery

标签: javascript asp.net html vb.net innerhtml


【解决方案1】:

这是因为您在 DOM 完全加载之前执行代码。

应该工作:

window.onload = function() {
  document.getElementById('valueboxes').innerHTML = html;
};

或者您可以简单地将您的 javascript 代码放在 &lt;/body&gt; 标记之前,而无需在那里使用 onload

【讨论】:

  • 你应该使用DOMContentLoaded 而不是onload
  • 我的是空白的,即使 chrome 检查器显示它不是。我正在一个 div 和一个 h1 上尝试它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-01
  • 2023-04-09
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多