Chyba pri prístupe k poľu prvkov v JavaScripte
Niekedy sa začiatoční programátori pokúšajú pracovať s poľom prvkov, ako keby mali jeden prvok. Pozrime sa, v čom podstata tejto chyby spočíva.
Nech sú dané odseky:
<p>1</p>
<p>2</p>
<p>3</p>
Nech sa nejaký programátor rozhodol zapísať do textu každého odseku rovnakú hodnotu. Na to získal odkazy na tieto prvky do premennej:
let elems = document.querySelectorAll('p');
Potom náš programátor chybne zobral a pristúpil k našej premennej tak, ako keby tam ležal jeden prvok, a nie pole. V dôsledku sa text odsekov nezmení, ale, čo je charakteristické, ani chyba v konzole nebude:
elems.textContent = '!';
Správnym riešením tu bude prechádzať pole prvkov cyklom a pre každý prvok samostatne vykonať požadovanú operáciu:
for (let elem of elems) {
elem.textContent = '!';
}