Javascript 试图让单击的按钮显示它';s值属性
这是我的密码Javascript 试图让单击的按钮显示它';s值属性,javascript,Javascript,这是我的密码 for(var i = 0; i<tabs.length; i++) { alert(tabs[i].getAttribute('value')); tabs[i].onclick = function() { alert("clicked"); alert(tab[i].getAttribute('v
for(var i = 0; i<tabs.length; i++)
{
alert(tabs[i].getAttribute('value'));
tabs[i].onclick = function() {
alert("clicked");
alert(tab[i].getAttribute('value'));
};
}
for(var i=0;i您是否尝试过:
this.getAttribute('value')
而不是
tab[i].getAttribute('value')?
tab[i].getAttribute('value')
您是否尝试过:
this.getAttribute('value')
而不是
tab[i].getAttribute('value')?
tab[i].getAttribute('value')
我想你是说
tabs[i].getAttribute('value')
而不是
tab[i].getAttribute('value')?
tab[i].getAttribute('value')
无论哪种方式,这里的问题是i的值在触发单击事件之前很久就被更改了
最简单的解决方案是用(函数(i){
&})(i);
它的作用是创建i的新副本并将其传递给单击事件
这是你的代码。这是更改后的
更新代码:
for (var i = 0; i < tabs.length; i++) {
alert(tabs[i].getAttribute('value'));
(function (i) {
tabs[i].onclick = function () {
alert("clicked");
alert(tabs[i].getAttribute('value'));
}
})(i);
}
for(变量i=0;i
我想你是说
tabs[i].getAttribute('value')
而不是
tab[i].getAttribute('value')?
tab[i].getAttribute('value')
无论哪种方式,这里的问题是i的值在触发单击事件之前很久就被更改了
最简单的解决方案是用(函数(i){
&})(i);
它的作用是创建i的新副本并将其传递给单击事件
这是你的代码。这是更改后的
更新代码:
for (var i = 0; i < tabs.length; i++) {
alert(tabs[i].getAttribute('value'));
(function (i) {
tabs[i].onclick = function () {
alert("clicked");
alert(tabs[i].getAttribute('value'));
}
})(i);
}
for(变量i=0;i
您可以尝试使用此.getAttribute('value')而不是选项卡[i]。getAttribute('value'))?@GonzaloBahamondez就是这样做的。因此,在onclick函数中,“this”是被单击的元素?这表示回调函数中的元素,请阅读有关函数作用域的内容。@user3391564:this
是指处理程序绑定到的元素。请阅读以了解有关事件处理的所有知识。请尝试使用this.getAttribute('value'),而不是制表符[i]。getAttribute('value'))?@GonzaloBahamondez成功了。因此,在onclick函数中,“this”是被单击的元素?这表示回调函数中的元素,请阅读有关函数作用域的内容。@user3391564:此
是指处理程序绑定到的元素。请阅读以了解有关事件处理的所有知识。