javascript中的错误代码?
更改此项:javascript中的错误代码?,javascript,class,setattribute,Javascript,Class,Setattribute,更改此项: TypeError: link[i] is undefined link[i].setAttribute('class', 'selected'); 为此: links[i].setAttribute('class', 'selected'); 或者更好的做法是: this.setAttribute('class', 'selected'); JavaScript中没有块作用域,因此您的i在迭代后停留在最后一个值 this.className = "selected"; 但
TypeError: link[i] is undefined
link[i].setAttribute('class', 'selected');
为此:
links[i].setAttribute('class', 'selected');
或者更好的做法是:
this.setAttribute('class', 'selected');
JavaScript中没有块作用域,因此您的i
在迭代后停留在最后一个值
this.className = "selected";
但是,由于您只需要使用处理程序引用元素,因此可以通过处理程序内部的this
访问该元素
如果您确实需要
i
,那么您需要在每次迭代的新变量范围内对i
进行范围限定
this.className = "selected";
var links=document.getElementById('subMenu').getElementsByTagName('a');
对于(变量i=0;i
或者只是将其作为属性添加到DOM元素。更改此选项:
TypeError: link[i] is undefined
link[i].setAttribute('class', 'selected');
为此:
links[i].setAttribute('class', 'selected');
或者更好的做法是:
this.setAttribute('class', 'selected');
JavaScript中没有块作用域,因此您的i
在迭代后停留在最后一个值
this.className = "selected";
但是,由于您只需要使用处理程序引用元素,因此可以通过处理程序内部的this
访问该元素
如果您确实需要
i
,那么您需要在每次迭代的新变量范围内对i
进行范围限定
this.className = "selected";
var links=document.getElementById('subMenu').getElementsByTagName('a');
对于(变量i=0;i
或者只是将其作为属性添加到DOM元素中