3 of 17 menu

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 = '!'; }
hypluzlbyfr