Por ejemplo, tengo 10 a las etiquetas generadas a partir de una respuesta AJAX:¿Cómo generar controladores de eventos con bucle en Javascript?
<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>
necesito para asignar evento onclick a cada uno de ellos a través del bucle:
for(i=1; i<11; i++) {
document.getElementById("b"+i).onclick=function() {
alert(i);
}
}
Esto no funciona, se solo asigna onclick a la última etiqueta y alerta "11". ¿Cómo puedo hacer que esto funcione? Prefiero no usar jQuery.
Debe llamar 'attachEvent' /' addEventListener' (a pesar de que no va a resolver su problema) – SLaks
@SLaks ¿Por qué 'attachEvent' /' addEventListener' es más apropiado que 'element.onclick'? –
@MicahHenning: para permitirle tener múltiples controladores. – SLaks