12_节点遍历.html 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <!DOCTYPE html>
  2. <html lang="en">
  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>Document</title>
  8. </head>
  9. <body>
  10. <p id="p1">22222</p>
  11. <div id="div1">11111</div>
  12. <h2>hhhhhhhh</h2>
  13. <ul id="ul1">
  14. <li>1</li>
  15. <li>2</li>
  16. <li>3</li>
  17. </ul>
  18. <script>
  19. var p1 = document.getElementById('p1')
  20. var ul1 = document.getElementById('ul1')
  21. console.log(p1.nodeName)
  22. // console.log(p1.nextSibling)
  23. // console.log(p1.previousSibling)
  24. //nextSibling 指向后一个兄弟节点 如果这个节点就是最后一个兄弟节点 那么该值为null
  25. //previousSibling 指向前一个兄弟节点 如果这个节点就是第一个兄弟节点 那么该值为null
  26. // nextElementSibling 指向以一个元素节点
  27. // previousElementSibling 指向上一个元素节点
  28. console.log(p1.nextElementSibling)
  29. console.log(p1.previousElementSibling)
  30. function next(elem){
  31. do{
  32. elem = elem.nextSibling
  33. }while(elem.nodeType != 1)
  34. return elem
  35. }
  36. console.log(next(p1))
  37. //在列表里面第一个节点
  38. console.log(ul1.firstChild)
  39. console.log(ul1.lastChild)
  40. console.log(ul1.firstElementChild)
  41. console.log(ul1.lastElementChild)
  42. function first(elem){
  43. elem = elem.firstChild
  44. if(elem.nodeType != 1){
  45. elem = next(elem)
  46. }
  47. return elem
  48. }
  49. console.log(first(ul1))
  50. </script>
  51. </body>
  52. </html>