博主信息
博文 26
粉丝 0
评论 1
访问量 16930
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
1. 实例演示二个获取元素的api 2. 实例演示dom常用的遍历方法
P粉751989631
原创
531人浏览过
  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>

运行结果

批改老师:PHPzPHPz

批改状态:合格

老师批语:作业标题, 不用与作业一样, 可以根据作业内容来取一个
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
1条评论
P粉751989631 2022-11-14 20:48:25
老师,不是很明白,您的意思是说,这两个题目只需要做一个就可以了?
1楼
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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

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