-4

我是 JavaScript 新手。

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

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

我不明白。

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

荒谬的是,我的代码不能在任何一个地方工作 - 因为<div>尚未加载,所以不能在 中工作,<body>因为全局变量不可见,所以不能在 中工作!

编辑

我使用“var varname;”定义了我的全局变量 没有给他们一个价值,显然这不算是定义他们。将其更改为 var "varname = [];" 现在它可以工作了。启动为 null 也不起作用。

4

1 回答 1

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

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

于 2013-04-10T12:29:16.373 回答