2.节点遍历.html 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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</title>
  7. </head>
  8. <body>
  9. <!-- <script src="../js/2.节点遍历.js"></script> -->
  10. <p id="main">这是一个p标签</p>
  11. <div class="box">这是一个盒子</div>
  12. <h2>
  13. 我的你的
  14. <br />
  15. 你的我的
  16. <br />
  17. 1111
  18. </h2>
  19. <h3>呜呜呜</h3>
  20. <ul id="list">
  21. <li>1</li>
  22. <li>2</li>
  23. <li>3</li>
  24. <li>4</li>
  25. </ul>
  26. <script>
  27. var main = document.getElementById("main");
  28. var box = document.querySelector(".box");
  29. var h2 = document.querySelector("h2");
  30. var list = document.getElementById("list");
  31. console.log(box.nextSibling,'1')
  32. // firstChild 第一个子节点
  33. // lastChild 最后一个子节点
  34. // previousSibling 上一个兄弟节点名称
  35. // nextSibling 下一个兄弟节点名称
  36. // nextElementSibling 下一个元素节点
  37. // previousElementSibling 上一个元素节点 如果该节点为第一个节点 则获取值为null
  38. // lastElementChild
  39. // firstElementChild
  40. //遍历
  41. function fn2(ele) {
  42. do {
  43. ele = ele.previousSibling;
  44. } while (ele.nodeType != 1);
  45. return ele;
  46. }
  47. function fn1(ele) {
  48. var a1 = ele.lastChild;
  49. if (a1.nodeType != 1) {
  50. return ele = fn2(a1);
  51. } else {
  52. return ele;
  53. }
  54. }
  55. console.log(fn1(list));
  56. </script>
  57. </body>
  58. </html>