3 of 17 menu

Fel vid hantering av elementarray i JavaScript

Ibland försöker nybörjarprogrammerare arbeta med en array av element som om de vore ett enda element. Låt oss se vad som är kärnan i detta misstag.

Antag att vi har följande stycken:

<p>1</p> <p>2</p> <p>3</p>

Antag att en programmerare bestämde sig för att skriva samma värde i texten för varje stycke. För att göra detta hämtade de referenser till dessa element till en variabel:

let elems = document.querySelectorAll('p');

Sedan tog vår programmerare felaktigt och åtkomst till variabeln som om den innehöll ett enda element, istället för en array. Som ett resultat kommer texten i styckena inte att ändras, men, karaktäristiskt nog, kommer inget fel i konsolen att visas:

elems.textContent = '!';

Den korrekta lösningen här skulle vara att iterera genom arrayen av element med en loop och för varje element individuellt utföra den nödvändiga operationen:

for (let elem of elems) { elem.textContent = '!'; }
kkmsruencs