//var name=document.getElementById("name");//这里输出的是undefined
var time=0;
var first= document.getElementById("first");
function color(sb) {
var num1 = setTimeout(function() {
sb.style.backgroundColor="red";
},time+=500);
setTimeout(function() {
sb.style.backgroundColor="#fff";
},time+=500);
var name=document.getElementById("name");//必须将NAME设置在这,设置在函数外输出的是undefine
console.log(name.value);
为什么把name声明在外面结果会是undefined?求解
dom的加载顺序是从上至下的,把name申明在外面,可能造成页面在加载的时候先执行了js代码,在去加载html,所以html还没加载出来之前你先去获取了html,就提示undefined了。
首先,你要把代码贴完整,别少个大括号啥的。