JS高手帮我看看我这样定义到底有什么问题

来源:百度知道 编辑:UC知道 时间:2024/05/04 05:49:01
我程序时这样的,但是不知道为什么这样定义没有效果
var tags=document.getElementById("main").getElementsByTagName("div");
function change(){
tags[0].className="undis";
tags[1].className="dis";
}
要这样定义才有效果
function change(){
var tags=document.getElementById("main").getElementsByTagName("div");
tags[0].className="undis";
tags[1].className="dis";
}
请问我第一种定义有什么问题?
但是那个变量这样定义不是全局变量吗?我要定义在外面怎么办?

上面2个都正确的

定义在外面可以理解成全局的... 只是作用域覆盖了所有函数

还有种是定义在DOM的Window上.. window.tags = ...

你把变量写在函数的外面了