--- title: ParentNode.querySelector() slug: Web/API/ParentNode/querySelector translation_of: Web/API/ParentNode/querySelector ---

{{APIRef("DOM")}}{{Draft}}

{{DOMxRef("ParentNode")}} mixin 将 querySelector() 方法定义为返回一个 {{DOMxRef("Element")}} 表示与指定的选择器组匹配的第一个元素,这些选择器是调用该方法的对象的后代。

如果您需要与选择器列表匹配的所有元素,使用 {{DOMxRef("ParentNode.querySelectorAll", "querySelectorAll()")}} 。

Note: 该方法的实现为 {{DOMxRef("Document.querySelector()")}}, {{DOMxRef("DocumentFragment.querySelector()")}} 和 {{DOMxRef("Element.querySelector()")}}.

语法

element = parentNode.querySelector(selectors);

参数

selectors
{{DOMxRef("DOMString")}} 包含一个或多个要匹配的选择器。该字符串必须是浏览器支持的compound selector list ;如果不是, 会抛出 SyntaxError 异常. 查阅 Locating DOM elements using selectors 获取有关选择器使用的更多信息. 可以通过使用逗号分隔多个选择器来指定它们。

Note: 必须使用反斜杠字符转义不属于CSS语法的字符。由于JavaScript也使用退格转义,因此在使用这些字符编写字符串文字是必须特别小心。查阅 {{anch("Escaping special characters")}} 获取更多信息。

返回值

第一个 {{DOMxRef("Element")}} 匹配至少一个指定的选择器,如果没有找到这样的元素,返回 null 。

Note: 如果指定的选择器包含 CSS pseudo-element, 则返回值始终为 null.

Exceptions

SyntaxError
指定的 selectors 字符串语法无效。

Specifications

Specification Status Comment
{{SpecName("DOM WHATWG", "#dom-parentnode-queryselector", "ParentNode.querySelector()")}} {{Spec2("DOM WHATWG")}} Living standard
{{SpecName("Selectors API Level 2", "#dom-parentnode-queryselector", "ParentNode.querySelector()")}} {{Spec2("Selectors API Level 2")}} No change
{{SpecName("DOM4", "#dom-parentnode-queryselector", "ParentNode.querySelector()")}} {{Spec2("DOM4")}} Initial definition
{{SpecName("Selectors API Level 1", "#interface-definitions", "document.querySelector()")}} {{Spec2("Selectors API Level 1")}} Original definition

Browser compatibility

{{Compat("api.ParentNode.querySelector")}}

See also