Elementide massiivile viitamise viga JavaScriptis
Mõnikord proovivad algajad programmeerijad töötada elementide massiiviga nagu see oleks üks element. Vaatame, milles see viga seisneb.
Olgu antud lõigud:
<p>1</p>
<p>2</p>
<p>3</p>
Oletame, et mingi programmeerija otsustas kirjutada igasse lõikusse sama väärtuse. Selleks saigi ta viited nendele elementidele muutujasse:
let elems = document.querySelectorAll('p');
Seejärel tegi meie programmeerija vea ja viitas meie muutujale nagu seal oleks üks element, mitte massiiv. Selle tulemusena lõigute tekst ei muutu, kuid iseloomulik on see, et konsoolis ei teki ka viga:
elems.textContent = '!';
Õige lahendus oleks siin massiivi elementide läbimine tsükliga ja iga elemendi jaoks eraldi sooritada vajalik toiming:
for (let elem of elems) {
elem.textContent = '!';
}