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")
相关推荐
袋鼠云数栈6 小时前
非结构化数据也能“周期调度“:离线开发BatchWorks的多模态数据同步实践
大数据·人工智能·多模态数据·离线开放
金銀銅鐵6 小时前
[Java] 用GUI展示class文件顶层的 access_flags
后端·python·ai编程
算了吧95696 小时前
GEO服务商选型指南:2026年企业评估框架与决策路径
大数据·人工智能·物联网
workflower6 小时前
矿用机器人人工智能安全与治理体系
人工智能·安全·机器学习·机器人·云计算·无人机
tianbin9116 小时前
从模型微调到API调用:大模型训练后的高效工程化落地路径
人工智能
a努力。6 小时前
RAG数据流水线的隐形杀手:文档加载与切分深度解析
人工智能
美林数据Tempodata6 小时前
高校工科专业转型工业数智方向:从六类岗位技术要求到课程模块的改造路径
人工智能·工业互联网·产教融合·课程改革
kimnoic6 小时前
Python操作xlwings的实例详解
开发语言·python
2601_957883846 小时前
2026年10月 外星人笔记本维修须知
python·电脑
HUIBUR科技6 小时前
AI重塑企业数字化:从系统建设到价值盘活的全新变革
人工智能·ai