Ce face document.querySelectorAll
querySelectorAll returnează o listă (NodeList) cu toate elementele găsite, în ordinea din pagină. Dacă nu găsește nimic, lista este goală, nu null.
Lista are length și forEach și merge cu for...of. Pentru map sau filter, transform-o în tablou cu Array.from(lista) sau [...lista].
Parametri
| Parametru | Descriere |
|---|---|
selectorCss |
Un selector CSS, ca text. |
Ce returnează
Un NodeList, posibil gol.
Exemple
Exemplul 1: Toate linkurile dintr-un meniu
<nav>
<a href="/">Acasă</a>
<a href="/blog/">Blog</a>
<a href="/contact/">Contact</a>
</nav>
<script>
const linkuri = document.querySelectorAll("nav a");
console.log(linkuri.length);
linkuri.forEach((link) => console.log(link.textContent));
</script>
Rezultat în browser
3
Acasă
Blog
Contact
Exemplul 2: Transformarea în tablou
const adrese = [...document.querySelectorAll("nav a")].map((link) => link.getAttribute("href"));
console.log(adrese.join(", "));
Rezultat în browser
/, /blog/, /contact/
Greșeli frecvente
- Schimbi direct lista:
document.querySelectorAll(".card").style.color = "red"nu face nimic. Trebuie să parcurgi fiecare element. - Apelezi
mapdirect peNodeListși primeștiTypeError: map is not a function.
Comenzi înrudite
document.querySelector: Găsește primul element din pagină care se potrivește cu un selector CSS.forEach: Rulează o funcție pentru fiecare element dintr-un tablou.classList: Adaugă, scoate sau comută clase CSS pe un element.