Fout met toegang tot elementversameling in JavaScript
Soms probeer beginnerprogrammeurs werk met 'n versameling elemente asof hulle een element het. Kom ons kyk waarin die kern van hierdie fout lê.
Laat daar paragrawe gegee wees:
<p>1</p>
<p>2</p>
<p>3</p>
Laat 'n sekere programmeur besluit het om in die teks van elke paragraaf dieselfde waarde te skryf. Om dit te doen, het hy verwysings na hierdie elemente in 'n veranderlike gekry:
let elems = document.querySelectorAll('p');
Daarna het ons programmeur verkeerdelik die veranderlike aangespreek asof daar een element in lê, en nie 'n versameling nie. Gevolglik sal die paragraaftekste nie verander nie, maar, wat kenmerkend is, sal daar ook geen fout in die konsole wees nie:
elems.textContent = '!';
Die korrekte oplossing hier sal wees om die elementversameling met 'n lus te deurloop en vir elke element afsonderlik die nodige bewerking uit te voer:
for (let elem of elems) {
elem.textContent = '!';
}