This article needs a technical review. How you can help.
Summary
Returns a list of the elements within the document (using depth-first pre-order traversal of the document's nodes) that match the specified group of selectors. The object returned is a NodeList
.
Syntax
elementList = document.querySelectorAll(selectors);
where
elementList
is a non-liveNodeList
ofelement
objects.selectors
is a string containing one or more CSS selectors separated by commas.
The returned NodeList will contain all the elements in the document that are matched by any of the specified selectors. If the selectors
string contains a CSS pseudo-element, the returned elementList
will be empty*.
*see: https://github.com/FabioVergani/js-getElementsByCssQuery/blob/master/getElementsByCssQuery.js Example console.dir($Query('body:not(:hover)')); //NodeList[1]0: body
This example returns a list of all div
elements within the document
with a class of either "note
" or "alert
":
var matches = document.querySelectorAll("div.note, div.alert");
Notes
Returns a non-live NodeList
of all the matching element nodes.
Throws a SYNTAX_ERR
exception if the specified group of selectors is invalid.
querySelectorAll()
was introduced in the WebApps API.
The string argument passed to querySelectorAll
must follow the CSS syntax. See document.querySelector
for concrete examples.
Specifications
Specification | Status | Comment |
---|---|---|
Selectors API Level 2 The definition of 'document.querySelector()' in that specification. |
Working Draft | |
Selectors API Level 1 The definition of 'document.querySelector()' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1 | 3.5 | 9 8[1] |
10 | 3.2 |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 2.1 | (Yes) | 9 | 10.0 | 3.2 |
[1] Internet Explorer 8 only supported CSS2 selectors.