我是JavaScript的新手。
我知道全局变量应该在整个页面上都可见,但似乎并非如此。
在HTML头文件中,我有<script>
个标签,我定义了一个全局变量,但这个变量在HTML正文的<script>
标签中不存在。我查看了alert(varname==null)
。
我不明白这一点。
代码未放在一起的原因是文档完成“加载”,以便脚本能够访问它正在处理的内容。有没有标准的方法来做到这一点?
我的代码无法在任何一个地方工作,这很荒谬 - 因为<div>
尚未加载而无法在{{1}中工作,因此无法在其中工作因为全局变量不可见!
修改的
我使用&#34; var varname;&#34;定义了我的全局变量。没有给他们一个价值,显然这并不算作定义他们。将其更改为var&#34; varname = [];&#34;现在它的工作原理。开始为null也没有工作。
答案 0 :(得分:0)
如果你想在完成加载时运行一个javascript代码,最好的做法是创建一个在onload方法中调用的函数。
HTML代码
<body onload="changediv('2');">
<div id="1">11111111111 1111111111111 111111111</div>
<div id="2">222222c 2222222222222 22222222</div>
<div id="3">23333333 3 333 3 3 3 3 3 33333 3</div>
<div id="4">4444 4 4 44444 4 4 4 4444 </div>
</body>
Javascript功能
function changediv(id){
var d = document.getElementById(id);
d.style.color = "#ccc";
}
这里有一个关于JSBIN的例子
http://jsbin.com/ajawic/1/edit
通过这种方式,您可以确保在使用前存在该对象。