for(var i =1;i<trs.length;i++){ trs[i].onmouseover = function(){ this.style.backgroundColor ="#f2f2f2"; } 为啥一定要用this.style 我用str[i].style 为什么是错的,求详细解释!!!
这里for循环内部有个mouseover 事件,在页面加载时会先加载for循环,这时mouseover 事件并没有触发,因此加载好for循环后,i值已经为trs.length,因此trs[i]这个元素是不存在的;如果使用this,则是调用时所对应的对象,也就是触发mouseove事件所对应的元素