querySelector()

1. 基本语法

复制代码
document.querySelector("选择器")

比如:

复制代码
let box = document.querySelector("#box");

意思:

去整个网页(document)里面,找 id 为 box 的元素。


一、先回顾 CSS 选择器

你学 CSS 的时候应该见过:

1. id选择器

CSS:

复制代码
#box {

}

意思:

找到:

复制代码
<div id="box"></div>

2. class选择器

CSS:

复制代码
.box {

}

意思:

找到:

复制代码
<div class="box"></div>

3. 标签选择器

CSS:

复制代码
div {

}

意思:

找到:

复制代码
<div></div>

querySelector() 就是直接使用这些 CSS 选择器。


二、获取 id 元素

HTML:

复制代码
<h1 id="title">
    学习JavaScript
</h1>

CSS 找它:

复制代码
#title

所以 JS:

复制代码
let h1 = document.querySelector("#title");

解释:

拆开看:

复制代码
document

表示整个网页。

复制代码
.querySelector()

表示寻找元素。

复制代码
"#title"

表示寻找 id=title。

所以:

复制代码
document.querySelector("#title")

就是:

在网页中找到 id 为 title 的元素。


然后:

复制代码
h1.innerHTML="你好";

页面:

之前:

复制代码
学习JavaScript

变成:

复制代码
你好

三、获取 class 元素

HTML:

复制代码
<p class="text">
    我是文字
</p>

CSS:

复制代码
.text

注意:

class 前面必须加:

复制代码
.

所以:

复制代码
let p=document.querySelector(".text");

找到:

复制代码
<p class="text">

四、获取标签元素

HTML:

复制代码
<h1>
标题
</h1>

CSS:

复制代码
h1

JS:

复制代码
let h1=document.querySelector("h1");

注意:

标签不用加符号。

错误:

复制代码
document.querySelector("#h1")

这是找:

复制代码
id="h1"

不是找标签。


五、最重要:querySelector只能获取第一个

例如:

HTML:

复制代码
<p class="text">
第一段
</p>

<p class="text">
第二段
</p>

<p class="text">
第三段
</p>

JS:

复制代码
let p=document.querySelector(".text");

结果:

只得到:

复制代码
<p class="text">
第一段
</p>

为什么?

因为:

querySelector = 找第一个符合条件的。


如果想全部获取:

使用:

复制代码
document.querySelectorAll(".text");

得到:

复制代码
第一段
第二段
第三段

六、组合选择器(非常重要)

querySelector 最大的优势:

它支持 CSS 的复杂选择器。

比如:

HTML:

复制代码
<div class="box">

    <p>
        hello
    </p>

</div>

你想找 div 里面的 p。

CSS:

复制代码
.box p

意思:

找到:

复制代码
class为box里面的p

JS:

复制代码
let p=document.querySelector(".box p");

成功找到:

复制代码
<p>
hello
</p>

七、举一个完整例子

HTML:

复制代码
<div id="box">

    <h1>
        标题
    </h1>

    <p>
        内容
    </p>

</div>

需求:

修改标题。


方法:

复制代码
let title=document.querySelector("#box h1");


title.innerHTML="新的标题";

分析:

复制代码
"#box h1"

相当于 CSS:

复制代码
#box h1

意思:

找到:

复制代码
id=box里面的h1

八、querySelector 常用写法总结

HTML CSS写法 JS
id="box" #box querySelector("#box")
class="box" .box querySelector(".box")
div标签 div querySelector("div")
div里面p div p querySelector("div p")
第一个li li querySelector("li")

九、你可以这样记

以前:

复制代码
document.getElementById("box")

现在:

复制代码
document.querySelector("#box")

等价。

class:

以前:

复制代码
document.getElementsByClassName("box")

现在:

复制代码
document.querySelector(".box")

最后用一句话记忆:

复制代码
querySelector("CSS选择器")

看到什么 CSS 写法,就直接放进去。

例如:

CSS:

复制代码
#nav .item p

JS:

复制代码
document.querySelector("#nav .item p")
相关推荐
揽秀亭长4 分钟前
音轨分离处理方案及效果测试分析
人工智能·音视频
东莞市云毅网络有限公司5 分钟前
用 SQLite FTS5 给企业文档建本地全文索引:中文分词与权重调优
python·数据清洗·rag·企业知识库·文档解析
钱栈up7 分钟前
health从200变000:一次差点引发双端口冲突的后端巡检复盘
python
一拳不是超人7 分钟前
之前用 AI 两小时写的塔罗网站,我真把它做上线了,然后呢?
前端·人工智能·程序员
正经教主7 分钟前
【FDE系列】阶段2:Day 22:变量、数据类型、条件判断 — Python 的“记忆“和“判断“
人工智能·python·fde
a努力。10 分钟前
AI原生AIOps平台,核心架构怎么搭
人工智能
女神下凡17 分钟前
端侧 AI 产品 有什么产品
人工智能·嵌入式硬件
深海鱼肝油ya18 分钟前
向量数据库Elasticsearch(二)介绍&安装&常用操作
人工智能·elasticsearch·kibana·向量数据库·文档操作·索引操作·域的属性
美狐美颜SDK开放平台19 分钟前
直播APP如何兼顾画质与低延迟?视频美颜SDK性能优化开发思路
人工智能·深度学习·音视频·美颜sdk·第三方美颜sdk
Rocky Ding*20 分钟前
【三年面试五年模拟】2026-09-10 百度多模态大模型一面:9道技术问答与2道手撕题详解
论文阅读·人工智能·深度学习·机器学习·百度·aigc·ai-native