由于放置不当,JS代码无法正常工作

时间:2013-04-10 12:06:19

标签: javascript html

我是JavaScript的新手。

我知道全局变量应该在整个页面上都可见,但似乎并非如此。

在HTML头文件中,我有<script>个标签,我定义了一个全局变量,但这个变量在HTML正文的<script>标签中不存在。我查看了alert(varname==null)

我不明白这一点。

代码未放在一起的原因是文档完成“加载”,以便脚本能够访问它正在处理的内容。有没有标准的方法来做到这一点?

我的代码无法在任何一个地方工作,这很荒谬 - 因为<div>尚未加载而无法在{{1}中工作,因此无法在其中工作因为全局变量不可见!

修改

我使用&#34; var varname;&#34;定义了我的全局变量。没有给他们一个价值,显然这并不算作定义他们。将其更改为var&#34; varname = [];&#34;现在它的工作原理。开始为null也没有工作。

1 个答案:

答案 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

通过这种方式,您可以确保在使用前存在该对象。