This page is not complete.

The ParentNode mixin defines the querySelector() method as returning an Element representing the first element matching the specified group of selectors which are descendants of the object on which the method was called.

If you need all the elements matching the selector list, use querySelectorAll() instead.


element = parentNode.querySelector(selectors);


A DOMString containing one or more selectors to match against. This string must be a valid compound selector list supported by the browser; if it's not, a SyntaxError exception is thrown. See Locating DOM elements using selectors for more information about using selectors to identify elements. Multiple selectors may be specified by separating them using commas.

Note: Characters which are not part of standard CSS syntax must be escaped using a backslash character. Since JavaScript also uses backspace escaping, special care must be taken when writing string literals using these characters. See Escaping special characters for more information.

Return value

The first Element that matches at least one of the specified selectors or null if no such element is found.

Note: If the specified selectors include a CSS pseudo-element, the returned value is always null.


The syntax of the specified selectors string is not valid.


Specification Status Comment
The definition of 'ParentNode.querySelector()' in that specification.
Living Standard Living standard
Selectors API Level 2
The definition of 'ParentNode.querySelector()' in that specification.
Obsolete No change
The definition of 'ParentNode.querySelector()' in that specification.
Obsolete Initial definition
Selectors API Level 1
The definition of 'document.querySelector()' in that specification.
Obsolete Original definition

Browser compatibility

ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
querySelectorChrome Full support 1Edge Full support 12Firefox Full support 3.5IE Full support 9
Full support 9
Notes Internet Explorer 8 only supported CSS2 selectors.
Opera Full support 10Safari Full support 4WebView Android Full support ≤37Chrome Android Full support 18Firefox Android Full support YesOpera Android Full support 10.1Safari iOS Full support 3.2Samsung Internet Android Full support Yes


Full support
Full support
See implementation notes.
See implementation notes.

See also