JavaScriptでHTML要素を操作するとき、
ほぼ必ず登場するのが querySelector と querySelectorAll です。
名前がよく似ているため、
「どっちを使えばいいの?」「何が違うの?」と混乱しやすいポイントでもあります。
この記事ではそれぞれの役割と違いを整理し、
実際の使い分けがイメージできるよう分かりやすく解説します。
querySelectorとquerySelectorAllはどの場面で使う?
まずは、それぞれが どんな目的で使われるのか を押さえましょう。
querySelectorとは?
querySelector は、条件に一致する最初の要素を1つだけ取得 したいときに使います。
const title = document.querySelector('.title');
querySelectorAllとは?
querySelectorAll は、条件に一致するすべての要素をまとめて取得 したいときに使います。
const items = document.querySelectorAll('.item');
querySelectorとquerySelectorAllの違い
ここでは、初心者が特につまずきやすい違いを整理します。
取得できる要素数の違い
最も大きな違いは、取得できる要素の数 です。
querySelector
→ 最初の1つだけ取得querySelectorAll
→ 条件に一致するすべてを取得
// HTMLに .item が3つあった場合
document.querySelector('.item'); // 最初の1つだけ
document.querySelectorAll('.item'); // 3つすべて
返り値の型の違い
返ってくる値の種類も異なります。
querySelector
→ ElementquerySelectorAll
→ NodeList
const single = document.querySelector('.item');
const multiple = document.querySelectorAll('.item');
console.log(single); // 要素そのもの
console.log(multiple); // NodeList(複数)
NodeList は配列のように見えますが、完全な配列ではない 点に注意が必要です。
forEachが使えるかどうか
querySelectorAll で取得した NodeList には forEach が使えます。
const items = document.querySelectorAll('.item');
items.forEach(item => {
item.classList.add('active');
});
一方、querySelector は単一要素なので forEach は使えません。
まとめ
querySelector と querySelectorAll は、どちらも非常によく使う重要なメソッドです。
違いを一言でまとめると、「1つか、複数か」 という点に尽きます。
最初は混乱しがちですが、
「この要素は1つだけ?それとも複数ある?」
と考えるクセをつけることで、自然に使い分けられるようになります。
DOM操作の基礎として必須の知識なので、実際のコードで試しながら身につけていきましょう。
NAMEKO.ONLINE では、Web開発初学者向けのコンテンツを発信しております!
ぜひ、多くの方にシェアいただけますと嬉しいです!



コメント