Document.querySelector
教程
Document.querySelector
教程显示了如何使用querySelector
选择 JavaScript 中的 HTML 元素。
Document.querySelector
Document
的querySelector()
方法返回文档中与指定选择器或一组选择器匹配的第一个元素。 如果找不到匹配项,则返回null
。
querySelectorAll()
返回一个静态NodeList
,代表与指定选择器组匹配的文档元素列表。
Document.querySelector
示例
下面的示例演示querySelector()
和querySelectorAll()
方法的用法。
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document.querySelector</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/components/button.min.css">
<style>
body { margin: 3em }
.selected { background-color: #eee }
.container {
display: grid;
grid-template-columns: 100px 100px 100px 100px 100px;
grid-template-rows: 50px;
grid-column-gap:5px;
margin-bottom: 1em;
}
div>div {
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
<button id="first" type="submit" class="ui grey button">First</button>
<button id="all" type="submit" class="ui brown button">All</button>
<button id="clear" type="submit" class="ui brown button">Clear</button>
<script src="main.js"></script>
</body>
</html>
在文档中,我们显示五个带边框的div
元素。 我们有三个按钮。 每个按钮都会更改div
的外观。
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/components/button.min.css">
我们使用语义 UI 设置文档样式。
.selected { background-color: #eee }
所选的div
具有灰色背景色。
.container {
display: grid;
grid-template-columns: 100px 100px 100px 100px 100px;
grid-template-rows: 50px;
grid-column-gap:5px;
margin-bottom: 1em;
}
使用 CSS 网格布局系统将div
一行显示。
div>div {
border: 1px solid #ccc;
}
容器div
中的div
具有灰色边框。
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
父容器div
中有五个div
。
<button id="first" type="submit" class="ui grey button">First</button>
<button id="all" type="submit" class="ui brown button">All</button>
<button id="clear" type="submit" class="ui brown button">Clear</button>
我们在文档中有三个按钮。 第一个按钮更改第一个内部div
的背景颜色。 全部按钮更改所有内部div
。 并且“清除”按钮清除div
的背景。 这些按钮具有语义 UI 样式。
<script src="main.js"></script>
JavaScript 代码位于main.js
文件中。
main.js
document.getElementById("first").onclick = (e) => {
let tag = document.querySelector(".container div:first-child");
tag.className = "selected";
};
document.getElementById("all").onclick = (e) => {
let tags = document.querySelectorAll(".container div");
tags.forEach( tag => {
tag.className = "selected";
});
};
document.getElementById("clear").onclick = (e) => {
let tags = document.querySelectorAll(".container div");
tags.forEach( tag => {
tag.classList.remove("selected");
});
};
在main.js
文件中,我们实现了按钮的功能。
document.getElementById("first").onclick = (e) => {
单击监听器将添加到具有onclick
属性的按钮。 用getElementById()
选择按钮。
let tag = document.querySelector(".container div:first-child");
使用querySelector()
方法,我们在容器div
中选择了第一个内部div
。
tag.className = "selected";
我们将selected
类添加到所选标签。
let tags = document.querySelectorAll(".container div");
使用querySelectorAll()
,我们选择所有内部div
。
tags.forEach( tag => {
tag.className = "selected";
});
在forEach()
循环中,我们遍历列表并将类附加到每个元素。
图:使用Document.querySelector
选择元素
在屏幕截图中,我们可以看到第一个div
的背景色已更改。
在本教程中,我们使用了querySelector()
和querySelectorAll()
方法。
您可能也对以下相关教程感兴趣: JavaScript Lodash 教程, Document.all
教程, JSON 服务器教程,从 URL 中读取 JSON JavaScript , JavaScript 贪食蛇教程, JQuery 教程, jQuery 自动完成教程或使用 jQuery DatePicker
。