0

在我的 HTML 文件中,我有一个 div

<div id="game">a div inside here</div>

在我的 JS 文件的顶部(在任何函数之外)

var gameDiv = document.getElementById('game');
var newDiv = document.createElement('div');

在我的一个功能中(在页面加载后通过单击按钮运行)

newDiv.setAttribute('id', 'displayCards');
newDiv.innerHTML = 'some stuff.';
gameDiv.appendChild(newDiv);

当我运行它时,Firebug 说 gameDiv 为空 :(

有任何想法吗?我是 JS 新手,仍在试图弄清楚“一切都是对象”的事情

4

2 回答 2

1

它在加载 DOM 之前运行。您应该将 javascript 移到元素声明之后,或者将其放在页面加载时调用的函数中(body.onload 应该可以工作)。

于 2013-03-04T21:27:39.327 回答
1

当你运行时:

var gameDiv = document.getElementById('game');

HTML 中还没有渲染元素“game”,所以它失败了。

于 2013-03-04T21:27:51.177 回答