Returns a NodeList representing a list of elements with the current element as root that matches the specified group of selectors.
Syntax
elementList = document.querySelectorAll(selectors);
where
elementListis a non-liveNodeListofelementobjects.selectorsis 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.
Examples
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 'ParentNode.querySelectorAll()' in that specification. |
Working Draft | No change |
| DOM4 The definition of 'ParentNode.querySelectorAll()' in that specification. |
Recommendation | Initial definition |
Browser compatibility
| Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Basic support | 1 | (Yes) | 3.5 | 9 8[1] |
10 | 3.2 |
| Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | 2.1 | (Yes) | (Yes) | 9 | 10.0 | 3.2 |
[1] Internet Explorer 8 only supported CSS2 selectors.