使用选择器定位 DOM 元素
Selectors API 提供了一些方法,可以快速轻松地根据一组选择器从 DOM 中检索Element
节点。这比过去的技术快得多,在过去的技术中,需要例如在 JavaScript 代码中使用循环来查找需要查找的特定项目。
NodeSelector 接口
此规范为实现Document
、DocumentFragment
或Element
接口的任何对象添加了两种新方法。
querySelector()
-
返回节点子树中第一个匹配的
Element
节点。如果未找到匹配的节点,则返回null
。 querySelectorAll()
-
返回一个
NodeList
,其中包含节点子树中所有匹配的Element
节点,如果未找到匹配项,则返回一个空NodeList
。
注意:querySelectorAll()
返回的NodeList
不是实时的,这意味着 DOM 中的变化不会反映在集合中。这与返回实时节点列表的其他 DOM 查询方法不同。
您可以通过阅读Element.querySelector()
和Element.querySelectorAll()
方法的文档来查找示例和详细信息。
选择器
示例
要选择文档中所有类包含warning
或note
的段落 (p
) 元素,您可以执行以下操作
js
const special = document.querySelectorAll("p.warning, p.note");
您还可以按 ID 查询。例如
js
const el = document.querySelector("#main, #basic, #exclamation");
执行上述代码后,el
包含文档中第一个 ID 为main
、basic
或exclamation
之一的元素。