0

我最近发布了关于 Firefox 中 javascript 的问题,并指出问题可能是 document.write() 以某种方式覆盖了脚本。有人建议我使用 ID 来解决覆盖脚本和避免信息堆积的问题

但是,在尝试将 ID 实现到我的 javascript 和 html 代码中时,我发现 firebug 报告说:

"TypeError: document.getElementById("author_container") is null"

尽管如此,ID 已经再次定义如下:

<p id="author_container"></p>

并且显然没有错别字,并且将脚本重新排列到头部或更改它以便 p 出现在脚本之前绝对没有区别。(请注意,尽管脚本首先出现,但另一个示例运行良好)。

如果我使用一个预先存在的 ID 和 getElementById 示例并在 Firefox 中运行它,它运行良好:

http://pastebin.com/FTEX1HGE

但是,如果我尝试运行我的代码,这似乎并没有太大的不同,我会遇到问题: http: //pastebin.com/XfGUpZAS

我在这里错过了什么吗?如何更改代码以使其在 Firefox 中工作?Firefox 会允许我正确运行我的代码吗?(下周知道吗?)

4

1 回答 1

2

将您的脚本放在页面底部,就在结束</body>标记之前。换句话说,将 script 标签设为document.body. 这样,DOM 树在脚本开始之前就完全加载了。

除了一些问题之外,真正的问题是函数中的document.open语句GenerateCoord。这将清除完整的文档,之后 - 实际上 - 没有任何元素可以通过任何 Id 获取。这是一个没有它的jsfiddle

于 2012-08-19T19:17:43.507 回答