element.querySelectorAll

by 3 contributors:

概要

対象要素の子孫の内、引数に指定した CSS セレクタのグループにマッチする要素群の(ライブなものでない) NodeList を返します。

構文

elementList = baseElement.querySelectorAll(selectors);
  • elementList: element オブジェクトの非ライブなリスト
  • baseElement: 走査の対象とする element オブジェクト
  • selectors: 探索する CSS セレクタ

次の例では、 HTML 文書の body 要素の中に存在する全ての p 要素のリストを取得しています。

var matches = document.body.querySelectorAll('p'); 

次の例では、querySelector メソッドを用いて id が "#test" のノードを変数 elm に代入。そして次に、「最初に取得した elm の子孫でクラス名に "highlight" を持つ div 要素群の、直接の子要素である p 要素群」に該当するノードのリストを変数 matches に代入しています。

var elm = document.querySelector('#test'),
    matches = elm.querySelectorAll('div.highlighted > p'); 

次の例では、data-src 属性を持つ iframe 要素のリストを取得しています。

var matches = el.querySelectorAll('iframe[data-src]'); 

注記

指定したセレクタグループが有効な書式で無かった場合、例外 「 SYNTAX_ERR 」がスローされます。

querySelectorAll() は WebApps API で導入されました。

返される値は NodeList です。故に、これを for..in ループの走査の対象としたり、これに対しビルトインの配列のメソッドを用いようとした場合はエラーが発生します。 NodeList に対し配列のメソッドを用いたい場合は、予め NodeList を配列に変換する必要があるという点に注意して下さい。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 1 3.5 (1.9.1) 8 10 3.2 (525.3)
機能 Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート (有) 1.0 (1.9.1) ? ? (有)

仕様書

関連情報

ドキュメントのタグと貢献者

Contributors to this page: fscholz, jsx, ethertank
最終更新者: jsx,