标题: http://zetcode.com/javascript/queryselector/

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

Document.querySelector

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

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

Document.querySelector示例

下面的示例演示querySelector()querySelectorAll()方法的用法。

index.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document.querySelector</title>
  7. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/components/button.min.css">
  8. <style>
  9. body { margin: 3em }
  10. .selected { background-color: #eee }
  11. .container {
  12. display: grid;
  13. grid-template-columns: 100px 100px 100px 100px 100px;
  14. grid-template-rows: 50px;
  15. grid-column-gap:5px;
  16. margin-bottom: 1em;
  17. }
  18. div>div {
  19. border: 1px solid #ccc;
  20. }
  21. </style>
  22. </head>
  23. <body>
  24. <div class="container">
  25. <div></div>
  26. <div></div>
  27. <div></div>
  28. <div></div>
  29. <div></div>
  30. </div>
  31. <button id="first" type="submit" class="ui grey button">First</button>
  32. <button id="all" type="submit" class="ui brown button">All</button>
  33. <button id="clear" type="submit" class="ui brown button">Clear</button>
  34. <script src="main.js"></script>
  35. </body>
  36. </html>

在文档中,我们显示五个带边框的div元素。 我们有三个按钮。 每个按钮都会更改div的外观。

  1. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.1/components/button.min.css">

我们使用语义 UI 设置文档样式。

  1. .selected { background-color: #eee }

所选的div具有灰色背景色。

  1. .container {
  2. display: grid;
  3. grid-template-columns: 100px 100px 100px 100px 100px;
  4. grid-template-rows: 50px;
  5. grid-column-gap:5px;
  6. margin-bottom: 1em;
  7. }

使用 CSS 网格布局系统将div一行显示。

  1. div>div {
  2. border: 1px solid #ccc;
  3. }

容器div中的div具有灰色边框。

  1. <div class="container">
  2. <div></div>
  3. <div></div>
  4. <div></div>
  5. <div></div>
  6. <div></div>
  7. </div>

父容器div中有五个div

  1. <button id="first" type="submit" class="ui grey button">First</button>
  2. <button id="all" type="submit" class="ui brown button">All</button>
  3. <button id="clear" type="submit" class="ui brown button">Clear</button>

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

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

JavaScript 代码位于main.js文件中。

main.js

  1. document.getElementById("first").onclick = (e) => {
  2. let tag = document.querySelector(".container div:first-child");
  3. tag.className = "selected";
  4. };
  5. document.getElementById("all").onclick = (e) => {
  6. let tags = document.querySelectorAll(".container div");
  7. tags.forEach( tag => {
  8. tag.className = "selected";
  9. });
  10. };
  11. document.getElementById("clear").onclick = (e) => {
  12. let tags = document.querySelectorAll(".container div");
  13. tags.forEach( tag => {
  14. tag.classList.remove("selected");
  15. });
  16. };

main.js文件中,我们实现了按钮的功能。

  1. document.getElementById("first").onclick = (e) => {

单击监听器将添加到具有onclick属性的按钮。 用getElementById()选择按钮。

  1. let tag = document.querySelector(".container div:first-child");

使用querySelector()方法,我们在容器div中选择了第一个内部div

  1. tag.className = "selected";

我们将selected类添加到所选标签。

  1. let tags = document.querySelectorAll(".container div");

使用querySelectorAll(),我们选择所有内部div

  1. tags.forEach( tag => {
  2. tag.className = "selected";
  3. });

forEach()循环中,我们遍历列表并将类附加到每个元素。

`Document.querySelector`教程 - 图1

图:使用Document.querySelector选择元素

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

在本教程中,我们使用了querySelector()querySelectorAll()方法。

您可能也对以下相关教程感兴趣: JavaScript Lodash 教程Document.all教程JSON 服务器教程从 URL 中读取 JSON JavaScriptJavaScript 贪食蛇教程JQuery 教程jQuery 自动完成教程使用 jQuery DatePicker