Intentando reasignar el texto en la etiqueta de marca, pero cada vez que lo ejecuto solo cambia una etiqueta y da un error
let a = document.getElementsByTagName("mark").length; for(i=0;i<=a;i++){ let b = document.getElementsByTagName("mark")[i]; let c = document.getElementsByTagName("mark")[i].innerText ="AWESOME"; }Mensaje de error
Uncaught TypeError: Cannot set properties of undefined (setting 'innerText') at Change (index.js:8:64) at index.js:20:1Todo lo que necesita es cambiar su bucle for: for(i=0;i<=a;i++) a for(i=0;i<a;i++) , porque está comenzando desde 0.
let a = document.getElementsByTagName("mark").length; for(i=0;i<a;i++){ let b = document.getElementsByTagName("mark")[i]; let c = document.getElementsByTagName("mark")[i].innerText ="AWESOME"; } <mark></mark> <mark></mark> <mark></mark> <mark></mark> Acabo de cambiar la condición del bucle for de i<=a a i<a
Explicación:-
El error surge porque después de que se itera cada etiqueta, el bucle for se ejecuta nuevamente cuando no encuentra ninguna etiqueta y b = undefined y da el error
Gracias.