home
twitter
ページトップへ
目次
  • 「document.querySelectorAll()」を使うと何ができる?
  • 「document.querySelector()」との違い
  • 厳密には返り値は「NodeList」である。
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!
about
categories
page
archive
皇帝ペンギンブログ

2024/12/11 (更新日:2024/12/13)

【JavaScript】「document.querySelectorAll()」の使い方!【分かりやすい】

Categories > JavaScriptの入門編
こんばんは!初めましての方は初めまして!
しゅーた(@chibasyuta)です!

今回はJavaScriptからHTMLの要素を取得するときに便利な「document.querySelectorAll()」について、使い方やその特徴の解説をします。

初心者にも分かりやすいように解説するので、これを読めばスムーズに利用できるはずです!

この記事の内容!

  • 「document.querySelectorAll()」の使い方!
  • 「forEach()」と組み合わせて使う方法!
また、下の動画でも「document.querySelectorAll()」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それでは内容へ入ります!

目次
非表示
  • 「document.querySelectorAll()」を使うと何ができる?
  • 「document.querySelector()」との違い
  • 厳密には返り値は「NodeList」である。
  • 参考リンク!
  • おすすめの再生リスト!
  • まとめ!

「document.querySelectorAll()」を使うと何ができる?

「document.querySelectorAll()」は指定したCSSのセレクターに一致する要素を「すべて」取得するためのメソッドです。

複数の要素を一気に取得してJavaScriptから操作したい場合に非常に有用です。

例えば、「複数のボタン」や「リストアイテム」を一括で操作したい場合に適しています。

コード例
const elements = document.querySelectorAll('.example');
elements.forEach(element => {
    console.log(element.textContent);
});

上記は「class=‘example’」が付けられた要素をすべて取得する例になります。

この例では、「.example」クラスに一致するすべての要素が取得され、それぞれの要素の内容がコンソールに出力されます。

また、このように「document.querySelectorAll()」で取得した要素には「forEach()」を使うことができます。

「forEach()」については下記の記事でその使い方の解説をしているので、気になる方はこちらからどうぞ!

【JavaScript】配列とは何か?その意味と使い方の解説!【forEach()】

関連記事

「document.querySelector()」との違い

「document.querySelector()」は、CSSセレクターに一致する「最初の要素」を取得するメソッドです。これに対し、「document.querySelectorAll()」は一致する「すべて」の要素を取得します。

例えば、下記のようなHTMLがあるとします。

<div class="example">Item 1</div>
<div class="example">Item 2</div>
<div class="example">Item 3</div>
querySelectorの例
const element = document.querySelector('.example');
console.log(element.textContent); // Item 1

最初の要素「Item 1」しか取得されません。

querySelectorAllの例
const elements = document.querySelectorAll('.example');
elements.forEach(element => {
    console.log(element.textContent);
});
// 結果:
// Item 1
// Item 2
// Item 3

すべての要素が取得されます。

厳密には返り値は「NodeList」である。

「document.querySelectorAll()」」の返り値は、厳密には「NodeList」と呼ばれるもので、「配列」とは異なります。

まとめると、下記が言えます。

  • Arrayではない:NodeListはArrayとは異なるので、一部のArrayメソッドは使えません。
  • forEachは使える:NodeListは「forEach()」をサポートしています。

参考リンク!

仕様書。
https://dom.spec.whatwg.org/#ref-for-dom-parentnode-queryselectorall%E2%91%A0

https://dom.spec.whatwg.org/#interface-nodelist

MDN。
https://developer.mozilla.org/ja/docs/Web/API/Document/querySelectorAll

https://developer.mozilla.org/ja/docs/Web/API/NodeList

おすすめの再生リスト!

こちらは僕が制作したYouTubeの再生リスト「JavaScriptの入門編」です。

「JavaScriptの入門編」はWeb制作を勉強している方がJavaScriptに入門する際に知っておきたい情報をまとめたコンテンツとなります。

こちらの再生リストで「JavaScript」について「丁寧」に解説しているので、もし気になる方はチェックしてみてください!一緒に楽しく学習しましょう!!

まとめ!

「document.querySelectorAll()」は、CSSセレクターに一致する要素をすべて取得できる。

「document.querySelector()」は、一致する最初の要素のみ取得する。

返り値のNodeListは、「forEach()」などを使えるがArrayとは異なる。

「document.querySelectorAll()」を活用することで、コードを簡潔に書くことができるので、ぜひ実際に使ってみてください!

こんな感じですかね!
また、下の動画でも「document.querySelectorAll()」の使い方について詳しく解説しているので、一緒に実際にコードを書きながら学びたい方はこちらをどうぞ!

それではまた!

自分のロゴ!

皇帝ペンギン

全力で、書きます。
少しでもお役に立てたら幸いです。
楽しんで読んで下さい 。-_- 。
よろしくお願いします!

x(旧twitter) youtube
Categories
  • トップへ
  • ITパスポート (1)
  • programming (168)
    • CSSのアニメーション編 (26)
    • CSSのグリッドレイアウト編 (1)
    • CSSのセレクター編 (58)
    • CSSのフレックスボックス編 (1)
    • CSSのメディアクエリー編 (7)
    • CSSの基本編 (34)
    • HTMLのformタグ編 (1)
    • HTMLの基本編 (3)
    • JavaScriptの入門編 (30)
    • JavaScriptの基本編 (5)
    • Web制作をする環境を整えよう! (1)
  • Uncategorized (23)
  • VScode (1)
  • おすすめ商品! (1)
  • クラロワ (2)
  • マーケティング (17)
  • 大学生活 (7)
  • 心理学 (9)
  • 映画 (1)
  • 法学 (4)
  • 経済学 (4)
  • 読書 (7)
Pages
  • プライバシーポリシー
  • 免責事項
  • プロフィール
Archive
  • 2025年3月 (1)
  • 2025年1月 (9)
  • 2024年12月 (13)
  • 2024年11月 (5)
  • 2024年10月 (10)
  • 2024年9月 (15)
  • 2024年8月 (5)
  • 2024年7月 (6)
  • 2024年6月 (5)
  • 2024年5月 (10)
  • 2024年4月 (24)
  • 2024年3月 (11)
  • 2024年2月 (6)
  • 2024年1月 (10)
  • 2023年12月 (4)
  • 2023年11月 (3)
  • 2023年10月 (2)
  • 2023年9月 (3)
  • 2023年8月 (6)
  • 2023年7月 (3)
  • 2023年6月 (8)
  • 2023年5月 (2)
  • 2023年3月 (1)
  • 2023年2月 (1)
  • 2022年10月 (2)
  • 2022年9月 (2)
  • 2022年8月 (8)
  • 2022年7月 (2)
  • 2022年6月 (6)
  • 2022年5月 (9)
  • 2022年4月 (2)
  • 2022年2月 (4)
  • 2021年12月 (1)
  • 2021年11月 (4)
  • 2021年10月 (8)
  • 2021年9月 (14)
  • 2021年8月 (6)
  • 2021年6月 (1)
  • 2021年5月 (2)
  • 2021年4月 (1)
  • 2021年3月 (1)
  • 2021年2月 (2)
  • 2020年10月 (1)
  • 2020年7月 (1)
  • 2020年4月 (1)
  • 2020年1月 (1)
  • 2019年12月 (2)
© Copyright Syuta Chiba, 2019 All Rights Reserved.