目录

HTML DOM 文档 querySelector()

示例

获取第一个 <p> 元素:

document.querySelector("p");
亲自试一试 »

获取第一个带有 class="example" 的元素:

document.querySelector(".example");
亲自试一试 »

下面有更多示例。


描述

这个querySelector()方法返回第一的与 CSS 选择器匹配的元素。

回来全部匹配(不仅仅是第一个),使用querySelectorAll()反而。

两个都querySelector()querySelectorAll()如果选择器无效,则抛出 SYNTAX_ERR 异常。


HTMLCollection 和 NodeList 之间的区别

节点列表HTML集合是非常一样的事情。

两者都是从文档中提取的节点(元素)的类似数组的集合(列表)。可以通过索引号来访问节点。索引从 0 开始。

两者都有一个长度返回列表(集合)中元素数量的属性。

HTMLCollection 是一个集合文档元素

NodeList 是一个集合文档节点(元素节点、属性节点和文本节点)。

HTMLCollection 项目可以通过其名称、ID 或索引号进行访问。

NodeList 项只能通过其索引号来访问。

HTMLCollection 始终是居住收藏。示例:如果将 <li> 元素添加到 DOM 中的列表,则 HTMLCollection 中的列表也会更改。

NodeList 通常是静止的收藏。示例:如果将 <li> 元素添加到 DOM 中的列表中,NodeList 中的列表不会改变。

这个getElementsByClassName()getElementsByTagName()方法返回一个实时 HTMLCollection。

这个querySelectorAll()方法返回一个静态 NodeList。

这个childNodes属性返回一个活动的 NodeList。


语法

document.querySelector( CSS selectors)

参数

Parameter Description
CSS
selectors
Required.
One or more CSS selectors.

CSS selectors select HTML elements based on id, classes, types, attributes, values of attributes etc.
For a full list, go to our CSS Selectors Reference.

For multiple selectors, separate each selector with a comma (See "More Examples").

返回值

类型 描述
对象 A节点列表与 CSS 选择器匹配的第一个元素。
如果没有找到匹配项,null被返回。


更多示例

使用 class="example" 获取第一个 <p> 元素:

document.querySelector("p.example");
亲自试一试 »

更改 id="demo" 元素的文本:

document.querySelector("#demo").innerHTML = "Hello World!";
亲自试一试 »

选择第一个 <p> 元素,其父元素是 <div> 元素。

document.querySelector("div > p");
亲自试一试 »

选择第一个具有 "target" 属性的 <a> 元素:

document.querySelector("a[target]");
亲自试一试 »

选择第一个 <h3> 或第一个 <h4>:

<h3>A h3 element</h3>
<h4>A h4 element</h4>
document.querySelector("h3, h4").style.backgroundColor = "red";
亲自试一试 »

选择第一个 <h3> 或第一个 <h4>:

<h4>A h4 element</h4>
<h3>A h3 element</h3>
document.querySelector("h3, h4").style.backgroundColor = "red";
亲自试一试 »

浏览器支持

document.querySelector()是 DOM Level 1 (1998) 功能。

所有浏览器都完全支持它:

Chrome Edge Firefox Safari Opera IE
Yes Yes Yes Yes Yes 9-11