已定义的var为null(document.getElementById('existingDiv'))

时间:2013-03-04 21:25:27

标签: javascript

在我的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的新手,仍然试图找出“一切都是对象”的事情

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

当你跑步时:

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

元素“游戏”尚未在HTML中呈现,因此失败。