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

No compatibility data found for api.ParentNode.querySelector.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

See also