Cuando trato de trabajar con bucles en javascript, aparece un error que dice: TypeError: no se pueden leer las propiedades de undefined (leyendo 'innerText')
Supongo que el problema está relacionado con cómo defino el final del ciclo usando .length
Este es el código que estoy intentando:
let els = document.getElementsByClassName('myClass'); for(var i = 0; i < els.length; i++) { els = document.getElementsByClassName('myClass')[i].innerText console.log(els); }Al tratar de depurarlo, busqué la longitud y el formato exactos de els.length y el resultado es:
formato=valor numérico=6
Si cambio el final del ciclo (ver más abajo), ya no obtengo ese error:
let els = document.getElementsByClassName('myClass'); for(var i = 0; i < 6; i++) { els = document.getElementsByClassName('myClass')[i].innerText console.log(els); }Usaste el els dos veces. Al final de cada bucle, comprueba si i < els.length pero ha convertido els en una cadena, por lo que els.length es diferente.
Deberías nombrar el segundo els de manera diferente.