Document.querySelector tutorial

Document.querySelector 教程展示了如何使用querySelector 在 JavaScript 中选择 HTML 元素。

文档查询选择器

Document 的querySelector 方法返回文档中与指定选择器或一组选择器匹配的第一个元素。如果未找到匹配项,则返回 null。

querySelectorAll 返回一个静态 NodeList,表示与指定选择器组匹配的文档元素列表。

Document.querySelector 示例

下面的例子演示了querySelectorquerySelectorAll方法的用法。

<!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>

我们在文档中有三个按钮。 First 按钮更改第一个内部 div 的背景颜色。 All 按钮更改所有内部 div。Clear 按钮清除 div 的背景。这些按钮具有语义 UI 样式。

<script src="main.js"></script>

JavaScript 代码放在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 选择元素
图:使用 Document.querySelector 选择元素

在屏幕截图中,我们可以看到第一个 div 的背景颜色已更改。

在本文中,我们使用了querySelectorquerySelectorAll 方法。

列出所有 JavaScript 教程。

赞(0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏