跳转至内容

JavaScript/寻找元素/练习

来自维基文库,一个开放世界的开放书籍

主题:定位元素和 DOM 导航

我们使用以下 HTML 页面进行练习。

<!DOCTYPE html>
<html>
<head>
  <script>
function show() {
  "use strict";
  // ...
}
  </script>
  <style>
    .head_2 {
      display: flex;
      justify-content: center;
    }
    .text, .text_right{
      padding-left: 1em;
      font-size: 1.4em;
    }
    .text_right {
      display: flex;
      justify-content: right;
      padding-right: 1em;
    }
    .button {
      height:1.4em;
      width: 4em;
      margin-top: 1em;
      font-size: 1.2em;
      background-color: Aqua;
    }
  </style>
</head>

<body>
  <h1>An HTML header</h1>

  <h2 class="head_2">An HTML sub-header</h2>
  <div id="div_1">
    <p id="p1" class="text">Paragraph 1</p>
    <ul>
      <li id="one">First item</li>
      <li id="two">Second item</li>
      <li id="three">Third item</li>
    </ul>
    <p id="p2" class="text">Paragraph 2</p>
    <p id="p3" class="text_right">Paragraph 3</p>
  </div>

  <div id="div_2">
    <p id="p4" class="text_right">Paragraph 4</p>
  </div>

  <button class="button" onclick="show()">Go</button>

</body>
</html>



1. 扩展函数 show,以显示所有 li 元素的内容。

单击以查看解决方案
function show() {
  "use strict";

  const elemArray = document.getElementsByTagName("li");
  for (let i = 0; i < elemArray.length; i++) {
    alert(elemArray[i].innerHTML);
  }
}



2. 扩展函数 show,以显示 CSS 类 text 的所有元素的内容。

单击以查看解决方案
function show() {
  "use strict";

  const elemArray = document.getElementsByClassName("text");
  for (let i = 0; i < elemArray.length; i++) {
    alert(elemArray[i].innerHTML);
  }
  // please note that the third paragraph is not included
}



3. 扩展函数 show,以显示第二个段落的内容。仅使用 getElementsByTagName

单击以查看解决方案
function show() {
  "use strict";

  // retrieve all 'div'
  const divArray = document.getElementsByTagName("div");
  const firstDiv = divArray[0];
  // navigate again, starting from the first 'div' element
  const pArray = firstDiv.getElementsByTagName("p");
  // show the second 'p' element
  alert(pArray[1].innerHTML);
}
华夏公益教科书