Klaida kreipiantis į elementų masyvą JavaScript
Kartais pradedantys programuotojai bando dirbti su elementų masyvu tarsi tai būtų vienas elementas. Pažiūrėkime, kuo ši klaida pasireiškia.
Tarkime, duoti pastraipos:
<p>1</p>
<p>2</p>
<p>3</p>
Tarkime, koks programuotojas nusprendė į kiekvienos pastraipos tekstą įrašyti tą pačią reikšmę. Tam jis gavo nuorodas į šiuos elementus į kintamąjį:
let elems = document.querySelectorAll('p');
Tada mūsų programuotojas klaidingai kreipėsi į mūsų kintamąjį taip, tarsi jame būtų vienas elementas, o ne masyvas. Dėl to pastraipų tekstas nebus pakeistas, tačiau, būdinga, kad klaidos konsolėje taip pat nebus:
elems.textContent = '!';
Teisingu sprendimu čia būtų pereiti elementų masyvą ciklu ir kiekvienam elementui atskirai atlikti reikiamą operaciją:
for (let elem of elems) {
elem.textContent = '!';
}