Błąd pobierania elementów w JavaScript
Czasami początkujący programiści popełniają błąd,
używając do pobierania grupy elementów DOM
metody querySelector zamiast metody
querySelectorAll.
Przyjrzyjmy się charakterystycznym cechom tego błędu. Załóżmy, że dane są akapity:
<p>1</p>
<p>2</p>
<p>3</p>
Pewien programista postanowił pobrać i wypisać w konsoli teksty tych akapitów. W tym celu pobrał referencje do tych elementów do zmiennej, błędnie używając niewłaściwej metody:
let elems = document.querySelector('p');
Następnie postanowił przeiterować akapity pętlą i wypisać tekst każdego akapitu w konsoli:
for (let elem of elems) {
console.log(elem.textContent);
}
W rezultacie w konsoli pojawi się charakterystyczny
błąd elems is not iterable. Mówi on,
że zmienna elems nie jest iterowalna,
czyli nie jest tablicą ani czymś,
co można przeiterować pętlą for-of.