2016-06-12 107 views
0

这似乎是一个非常基本的问题,但我不明白为什么这是happing。我是JavaScript新手。JS声明变量和使用getElementById()

当我有做这样的事情......

<!-- variable defined but not used --> 
var theLeftSide = document.getElementById("leftSide"); 

function generateFaces(){ 
    <!-- some code here --> 
    document.getElementById("leftSide").appendChild(face); 
} 

我没有问题,和代码运行。但是,当我使用我声明的变量时,它不再有效,因为“theLeftSide为null”。

这不工作...

<!-- variable declared but not used --> 
var theLeftSide = document.getElementById("leftSide"); 

function generateFaces(){ 
    <!-- some code here --> 
    theLeftSide.appendChild(face); 
} 

这究竟是为什么?我想我会把所有相关的代码放在一起,但如果需要的话,我可以添加它。

+1

你的第一个评论是_wrong_。该变量已定义,未声明。声明不包括转让。 –

+0

lol oops。谢谢。 –

+0

你应该把你的代码包装在'window.onload'中。如果该元素未呈现,并且您尝试获取它,它将返回'undefined'。据我了解,这是问题 – Rajesh

回答

2

问题不在于变量本身。

代码中的分配是在DOM准备好之前完成的。

将您的脚本标签放在文档正文标签的末尾,然后尝试。

+0

非常感谢。这是我第一次使用DOM,教授从来没有去过这个。我查了一下头和身体之间的区别,我看到的那些页面没有提到。 –