Como gerar manipuladores de eventos com loop em Javascript? [duplicado
Esta pergunta já tem uma resposta aqui:
Javascript questão infame Loop? [duplicado 5 respostasPor exemplo, tenho 10 tags a geradas a partir de uma resposta AJAX:
<a href="#" id="b1">b1</a>
<a href="#" id="b2">b2</a>
<a href="#" id="b3">b3</a>
<a href="#" id="b4">b4</a>
<a href="#" id="b5">b5</a>
<a href="#" id="b6">b6</a>
<a href="#" id="b7">b7</a>
<a href="#" id="b8">b8</a>
<a href="#" id="b9">b9</a>
<a href="#" id="b10">b10</a>
Preciso atribuir um evento onclick a cada um deles através do loop:
for(i=1; i<11; i++) {
document.getElementById("b"+i).onclick=function() {
alert(i);
}
}
Isso não funciona, apenas atribui ao último clique uma tag e alerta "11". Como posso fazer isso funcionar? Prefiro não usar o jQuery.