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")
相关推荐
知见漫记1 小时前
AI 桌面 Agent 本地执行能力技术对照:沙箱机制与权限模式拆解
大数据·人工智能
数商云企2 小时前
2026年陕西软件开发首选数商云企AI微入口小程序定制方案
人工智能·小程序
吴佳浩2 小时前
FDE:从系统落地工程师,演变为企业 AI 能力的知识架构师
人工智能·llm·ai编程
吴佳浩2 小时前
从 OpenClaw、Codex 到 Hermes,看懂 AI Agent 架构为什么正在收敛
人工智能·llm·agent
hanbon2 小时前
标书制作流程与技巧:从读标到装订
人工智能·招投标·ai写标书·技术标
知识分享小能手2 小时前
深度学习学习教程,从入门到精通,深度学习中的正则化 — 完整知识点与代码示例(7)
人工智能·深度学习·学习
小小猪的春天2 小时前
Java 手写第一个 MCP Server:Spring AI MCP 半小时跑通
java·人工智能·spring boot·ai编程
TechEdu2026063 小时前
[人工智能]国内国外大型语言模型技术比较指南V02(2026.9月)
人工智能·ai
AI人工智能集结号3 小时前
2026年9月GEO优化与传统SEO怎么选?预算应该先投向哪一个?
人工智能·geo优化
console.log('npc')3 小时前
Git 冲突与 AI 协助指南
前端·人工智能·git·大模型