Errore di accesso all'array di elementi in JavaScript
A volte i programmatori principianti cercano di lavorare con un array di elementi come se fosse un unico elemento. Vediamo in cosa consiste questo errore.
Supponiamo di avere questi paragrafi:
<p>1</p>
<p>2</p>
<p>3</p>
Supponiamo che un programmatore abbia deciso di impostare lo stesso valore per il testo di ogni paragrafo. Per fare ciò, ha memorizzato i riferimenti a questi elementi in una variabile:
let elems = document.querySelectorAll('p');
Poi il nostro programmatore ha erroneamente acceduto alla nostra variabile come se contenesse un solo elemento, e non un array. Di conseguenza, il testo dei paragrafi non cambierà, ma, caratteristicamente, non ci sarà nemmeno un errore nella console:
elems.textContent = '!';
La soluzione corretta qui sarebbe scorrere l'array di elementi con un ciclo e per ciascun elemento singolarmente eseguire l'operazione desiderata:
for (let elem of elems) {
elem.textContent = '!';
}