El título puede no tener sentido y ni tampoco una descripción solo, así que aquí está una muestra del código:Configuración onclick para utilizar el valor actual de la variable en bucle
for(var a=0;a<10;a++) {
var b=document.createElement('b')
b.onclick=function() {
alert(a)
}
b.innerHTML=a
document.body.appendChild(b)
}
Lo curioso es que cuando me puse innerHTML para a, usa el valor actual de a. Por lo tanto, este código crea diez elementos <b>
con los valores 0, 1, 2, 3, 4, 5, 6, 7, 8, & 9. Esto funciona perfectamente. Lo que no es, sin embargo, la función onclick. Devuelve el valor final de a
(10) cuando se hace clic en cualquiera de estos elementos. Intenté establecer otra variable en a
y luego usar esa otra variable en el evento onclick, pero aún así devuelve el valor final de a
. ¿Cómo haré que use el valor de a
cuando se establece onclick?
Es exigente y no soluciona el problema, pero las variables en JavaScript tiene ámbito de la función en lugar de bloquear alcance, por lo que realmente debe definir b fuera de su bucle (y a) – tomfumb