言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

JavaScript辞典

  1. トップページ
  2. JavaScript辞典
  3. document.querySelectorAll()

document.querySelectorAll() 対応: Selectors API(2008)

CSSセレクタを使用して、ドキュメント内から条件に一致するすべてのHTML要素を取得します。戻り値はNodeListオブジェクトです。NodeListオブジェクトについては概要を確認してください。

構文

// ドキュメント全体から取得します。
var elements = document.querySelectorAll("セレクタ");

// 特定のHTML要素内から取得します。
var elements = 親要素.querySelectorAll("セレクタ");

引数

引数概要
セレクタCSSセレクタの文字列を指定します。CSSで使用できるセレクタであればどのような書式でも指定可能です。複数のセレクタをカンマ区切りで指定することもできます。

戻り値

条件に一致するすべてのHTML要素を含むNodeListオブジェクトを返します。NodeListオブジェクトは配列のように扱うことができ、一致するHTML要素が存在しない場合は空のNodeListが返されます。

サンプルコード

<ul>
	<li class="item">りんご</li>
	<li class="item">みかん</li>
	<li class="item">ぶどう</li>
</ul>
// すべてのli要素を取得します。
var items = document.querySelectorAll(".item");
console.log(items.length); // 『3』と出力されます。

// forEachでループ処理します。
items.forEach(function(item) {
	console.log(item.textContent);
});
// "りんご" "みかん" "ぶどう"

概要

『document.querySelectorAll()』は条件に一致するすべてのHTML要素をNodeListとして取得するメソッドです。『document.querySelector()』が最初の1つだけを返すのに対し、こちらは一致するすべてのHTML要素を返します。

戻り値のNodeListは配列に似たオブジェクトで、『length』プロパティやインデックスでのアクセスが可能です。また、『forEach()』メソッドを使ったループ処理も行えます。

注意点として、NodeListは取得した時点のスナップショットであり、後からDOMにHTML要素が追加されても自動的には反映されません。最新の状態を取得したい場合は、再度『document.querySelectorAll()』を呼び出す必要があります。

『document.querySelectorAll()』はチュートリアル記事『querySelector() CSSセレクタの記法から要素を取得』で、より詳しく解説しています。良ければご覧下さい。

対応ブラウザ

Chrome Chrome
49 以降
全バージョンで対応しています
Firefox Firefox
57 以降
2.5 以前 ×
Safari Safari
18 以降
3 以前 ×
Edge Edge
80 以降
11 以前 ×
IE IE
11 以降
8 以前 ×
Opera Opera
48 以降
9 以前 ×
iOS Safari iOS Safari
18 以降
1 以前 ×
Android Browser Android Browser
37 以降
4 以前 ×
Chrome Android Chrome Android
36 以降
17 以前 ×
Firefox Android Firefox Android
79 以降
3 以前 ×

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。