博客列表 >类数组与纯数组,dom遍历与常用的API

类数组与纯数组,dom遍历与常用的API

P粉116103988
P粉116103988原创
2022年07月30日 20:21:32406浏览

1. 自定义类数组,并说出与纯数组的区别与联系,哪些地方会用到类数组

代码如下:

  1. <script>
  2. //1. 纯数组:Araay:
  3. let arr = ['red','yellow','blue'];
  4. console.log(arr);
  5. // Array(3) [ "red", "yellow", "blue" ]
  6. // ​
  7. // 0: "red"
  8. // ​
  9. // 1: "yellow"
  10. // ​
  11. // 2: "blue"
  12. // ​
  13. // length: 3
  14. // <prototype>: Array [] //这是一个纯数组
  15. // 2. 类数组:就是一个对象字面量, 结构类似数组:
  16. const obj ={1:'red',2:'yellow',3:'blue'};
  17. console.log(obj);
  18. console.log(obj[1]);
  19. // Object { 1: "red", 2: "yellow", 3: "blue" }
  20. // ​
  21. // 1: "red"
  22. // ​
  23. // 2: "yellow"
  24. // ​
  25. // 3: "blue"
  26. // ​
  27. // <prototype>: Object { … } 这个是类数组
  28. // 类数组的使用:1.遍历函数参数
  29. // 2.类数组和纯数组的访问方式一样,类数组可以转为纯数组
  30. console.log('-----------------------');
  31. // 将OBJ转为纯数组:可以用:Array.from():
  32. obj1 = {1:'猪老师',2:'马老师',3:'牛老师'}
  33. let objArr = Array.from(obj1);
  34. console.log(objArr);
  35. </script>

效果图展示:

2. 获取dom元素的API有几个,他们的使用场景是什么?

代码如下:

  1. <script>
  2. // DOM元素的API有2个:1.获取一组元素:querySelectorAll()
  3. // 2.获取单个元素:qureySeletcor()
  4. // 使用场景:DOM遍历
  5. // 获取一组元素:
  6. const items = document.querySelectorAll('.list .item');
  7. // console.log(items); 可以拿到全部的li
  8. // 用箭头函数简写:
  9. items.forEach(bg =>(bg.style.backgroundColor='yellow'));
  10. // items.forEach(function bg(v){
  11. // v.style.backgroundColor='blue';
  12. // });
  13. // 获取一个元素:
  14. const item = document.querySelector('.list .item:last-of-type');
  15. // console.log(item);获取到了最后一个li
  16. console.log(item);
  17. item.style.backgroundColor = 'cyan';
  18. // item.forEach(bg =>(bg.style.backgroundColor='red'));
  19. </script>

效果图展示:

3. 如何优雅的获取form表单元素与控件的值?

代码如下:

  1. <script>
  2. const ipt = document.querySelectorAll('.login input');
  3. console.log(ipt); //获取到了表单里面的全部input元素
  4. ipt.forEach(cl=>(cl.style.color='red')); // 把所有input元素的文本颜色改为红色
  5. const psw = document.querySelector('.login input[ type="password"]');
  6. // 获取密码的input 输入框
  7. console.log(psw);
  8. // 获取密码值:
  9. let password = psw.value;
  10. console.log(password);
  11. // 下面是优雅的获取方式: document.forms
  12. console.log(document.forms.login);
  13. console.log(document.forms.login.username);
  14. console.log(document.forms.login.username.value);
  15. let user = document.forms.login.username.value;
  16. console.log(user);
  17. function us(user){
  18. return user = 'admin888';
  19. }
  20. console.log(us());
  21. // 转为箭头函数:
  22. us = user =>(user='admin888');
  23. console.log(us());
  24. </script>

效果图展示:

4. dom元素的遍历与常用API有哪些, 实例演示

代码如下:

  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>DOM元素 API</title>
  8. </head>
  9. <body>
  10. <ul class="list">
  11. <li class="item">item1</li>
  12. <li class="item">item2</li>
  13. <li class="item">item3</li>
  14. <li class="item">item4</li>
  15. <li class="item">item5</li>
  16. </ul>
  17. <script>
  18. // dom元素的遍历:1.全局类型:window
  19. // 2.文档类型:docunment 当前HTML
  20. // 3.元素类型:element
  21. // 4.文本类型:text
  22. let all= window.innerHeight;
  23. // console.log(all);
  24. let items = document.querySelector('.list');
  25. // 查询ul有多少个节点,这个把换行也算到里面的:
  26. console.log(items.childNodes);
  27. console.log(items.children); //获取的是一个类数组:
  28. // 将类数组转为纯数组:
  29. // console.log(Array.from(items.children));
  30. console.log([...items.children]);
  31. [...items.children].forEach(li =>(li.style.color='red'));
  32. let item = [...items.children];
  33. console.log(item[0]);
  34. item[0].style.color= 'green';
  35. item[3].style.color = 'blue';
  36. // 第一个兄弟:firstElementChild
  37. items.firstElementChild.style.backgroundColor = 'yellow';
  38. // 当前兄弟的下一个兄弟:firstElementChild.nextElementSibling;
  39. items.firstElementChild.nextElementSibling.style.backgroundColor = 'green';
  40. // 最后一个兄弟:lastElementChild
  41. items.lastElementChild.style.backgroundColor = '#eee';
  42. // 当前兄弟的前一个兄弟:
  43. items.lastElementChild.previousElementSibling.style.backgroundColor = 'pink';
  44. // 当前兄弟的父类:
  45. items.lastElementChild.parentElement.style.border='1px solid #000';
  46. // 修改最后一个兄弟的文本:文本类型:text
  47. // items.lastElementChild.textContent = 'php.cn';
  48. items.lastElementChild.textContent = 'php.cn';
  49. </script>
  50. </body>
  51. </html>

效果图展示:

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议