Blogger Information
Blog 26
fans 0
comment 1
visits 10548
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1. 实例演示二个获取元素的api 2. 实例演示dom常用的遍历方法
P粉751989631
Original
335 people have browsed it
  1. 实例演示二个获取元素的api
  1. <!DOCTYPE html>
  2. <html lang="zh-cn">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>11.7作业</title>
  8. </head>
  9. <body>
  10. <h2>1.实例演示二个获取元素的api</h2>
  11. <div class="list">
  12. <li>item1</li>
  13. <li>item2</li>
  14. <li>item3</li>
  15. <li>item4</li>
  16. <li>item5</li>
  17. <li>item6</li>
  18. </div>
  19. <script>
  20. // 1. querySelectorAll: 集合
  21. const items = document.querySelectorAll(".list > *");
  22. console.log(items, Array.isArray(items));
  23. // // items : 类数组(对象)
  24. items.forEach((item) => (item.style.color = "red"));
  25. // 第一个item -》 blue
  26. items[0].style.color = "blue";
  27. // 2. querySelector(): 集合中的第一个
  28. // 匹配满足条件的集合的第一个元素, 类似于 id
  29. const item = document.querySelector(".list > *");
  30. console.log(item);
  31. document.getElementById;
  32. </script>
  33. </body>
  34. </html>

运行结果

2.实例演示dom常用的遍历方法

  1. <body>
  2. <ul class="list">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. </ul>
  10. <script>
  11. let list = document.querySelector(".list");
  12. console.log(list.nodeType);
  13. // 1. 所有子节点: childNodes
  14. let items = list.childNodes;
  15. console.log(items);
  16. // 为什么是13个,因为有7个文本类型节点,6个元素类型节点
  17. // 类数组
  18. // 1. Array.from
  19. console.log(Array.from(items));
  20. // 2. ...rest
  21. console.log([...items]);
  22. // 转为数组之后,Array很多API都可以用
  23. // 要求只返回“元素类型的节点”
  24. let result = [...items].filter((item) => item.nodeType === 1);
  25. console.log(result);
  26. // 3. 第一个子元素
  27. // ele.textContent: 元素内的文本
  28. console.log(list.children[0].textContent);
  29. // 语法糖
  30. let first = list.firstElementChild;
  31. console.log(first.textContent);
  32. // 4. 后一个兄弟
  33. let next = list.querySelector(":first-child + *");
  34. next.style.color = "red";
  35. next = first.nextElementSibling;
  36. // 5. 最后一个
  37. let last = list.lastElementChild;
  38. last.style.color = "red";
  39. // 6. 前一个兄弟
  40. let prev = last.previousElementSibling;
  41. prev.style.color = "violet";
  42. // 7. 父节点: 一定是元素或文档类型
  43. let parent = first.parentNode;
  44. console.log(parent);
  45. parent.style.border = "1px solid";
  46. // 8. 遍历
  47. // 在 [],{},()前分号不能省
  48. // 为什么不能用forEach,因为返回的不是 NodeList
  49. [...list.children].forEach((item) => (item.style.border = "1px solid red"));
  50. </script>
  51. </body>

运行结果

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:作业标题, 不用与作业一样, 可以根据作业内容来取一个
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
1 comments
P粉751989631 2022-11-14 20:48:25
老师,不是很明白,您的意思是说,这两个题目只需要做一个就可以了?
1 floor
Author's latest blog post