MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

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.

Note: The definition of this API was moved to the ParentNode interface.

Syntax

elementList = document.querySelectorAll(selectors);

where

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");

Another example use it as a function: 

function getElements(elmSel) {
    return document.querySelectorAll(elmSel);
}  

getElements(".note");

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 1
The definition of 'document.querySelector()' 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.

See also