博主信息
博文 28
粉丝 0
评论 0
访问量 20069
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
二个获取元素的api与dom常用的遍历方法演示
手机用户1594223549
原创
552人浏览过

一.二个获取元素的api

1.输出结果

2.代码部分

  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>二个获取元素的api</title>
  8. </head>
  9. <body>
  10. <ul class="list">
  11. <li>item1</li>
  12. <li>item2</li>
  13. <li>item3</li>
  14. <li>item4</li>
  15. <li>item5</li>
  16. <li>item6</li>
  17. </ul>
  18. <script>
  19. // 获取一组: querySelectorAll()
  20. // 取一个: querySelector()
  21. // 1. querySelectorAll: 集合
  22. // 获取list下面的所有li
  23. const items = document.querySelectorAll('.list > *')
  24. // items 类数组 不是一个真正的数组
  25. items.forEach(item => (item.style.color = 'red'))
  26. // 2. querySelector(): 集合中的第一个
  27. // 匹配满足条件的集合的第一个元素, 类似于id
  28. const item = document.querySelector('.list > *')
  29. console.log(item)
  30. </script>
  31. </body>
  32. </html>

二.dom常用的遍历方法

1.输出结果

2.代码部分

  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>dom常用的遍历方法</title>
  8. </head>
  9. <body>
  10. <ul class="list">
  11. <li>item1</li>
  12. <li>item2</li>
  13. <li>item3</li>
  14. <li>item4</li>
  15. <li>item5</li>
  16. <li>item6</li>
  17. </ul>
  18. <script>
  19. let list = document.querySelector('.list')
  20. console.log(list.nodeType)
  21. //1. 获取所有的子节点: childNodes
  22. let items = list.childNodes
  23. console.log(items)
  24. // 为什么是13个,因为有7个文本类型节点,6个元素类型节点
  25. // 1. Array.from items是类数组,转为真正的数组
  26. console.log(Array.from(items))
  27. // 转为数组之后,Array很多API都可以用
  28. // 要求只返回“元素类型的节点”
  29. let result = [...items].filter(item => item.nodeType === 1)
  30. console.log(result)
  31. // 2. children : 获取所有子元素节点
  32. console.log(list.children)
  33. // children术语类数组
  34. // 3. 获取第二个子元素文本内容
  35. // ele.textContent: 元素内的文本
  36. console.log(list.children[1].textContent)
  37. // 4. 后一个兄弟
  38. let next =list.querySelector(':first-child + *')
  39. next.style.color = 'green'
  40. // 5. 最后一个
  41. let last = list.lastElementChild
  42. last.style.color = 'red'
  43. // 6. 最后一个元素的前一个
  44. let prev = last.previousElementSibling
  45. prev.style.border = '2px solid'
  46. // 7. 遍历
  47. ;[...list.children].forEach(item => (item.style.border = '2px solid green'))
  48. </script>
  49. </body>
  50. </html>
批改老师:PHPzPHPz

批改状态:合格

老师批语:完成的很好, 没什么问题, 继续加油
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学