我知道这段代码不起作用,我也知道为什么。 不过,我不知道如何解决它:在包含循环变量的循环中定义匿名函数?
的JavaScript:
var $ = function(id) { return document.getElementById(id); };
document.addEventListener('DOMContentLoaded', function()
{
for(var i = 1; i <= 3; i++)
{
$('a' + i).addEventListener('click', function()
{
console.log(i);
});
}
});
HTML:
<a href="#" id="a1">1</a>
<a href="#" id="a2">2</a>
<a href="#" id="a3">3</a>
我希望它打印您单击的链接的数量,而不是仅仅“ 4" 。 我宁愿避免使用节点(id或内容)的属性,而是修复循环。
[Coffeescript](http://coffeescript.org/)为这种情况提供了非常方便的'do'关键字。 –