Tömb elemeihez való hibás hozzáférés JavaScriptben
Időnként a kezdő programozók úgy próbálnak dolgozni egy elemekből álló tömbbel, mintha az egyetlen elem lenne. Nézzük meg, mi ennek a hiba a lényege.
Legyenek adottak bekezdések:
<p>1</p>
<p>2</p>
<p>3</p>
Tegyük fel, hogy egy programozó úgy döntött, hogy minden bekezdés szövegébe ugyanazt az értéket írja. Ehiek megkapta ezekre az elemekre a hivatkozásokat egy változóba:
let elems = document.querySelectorAll('p');
Ezután a programozónk tévesen úgy próbált hozzáférni a változónkhoz, mintha ott egyetlen elem lenne, és nem egy tömb. Ennek eredményeképpen a bekezdések szövege nem fog változni, de, ami jellemző, hiba se lesz a konzolon:
elems.textContent = '!';
Itt a helyes megoldás az lenne, hogy a ciklussal bejárjuk az elemek tömbjét és minden egyes elemre külön elvégzzük a szükséges műveletet:
for (let elem of elems) {
elem.textContent = '!';
}