PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

博客列表 > 解构赋值、DOM操作以及dataset和classList对象的使用

解构赋值、DOM操作以及dataset和classList对象的使用

王浩
王浩 原创
2021年09月29日 22:22:33 586浏览
  1. 作业内容:
  2. 1. 实例演示解构赋值,特别是函数参数中使用解构的方式;
  3. 2. dom元素的增删改查基本操作,必须达到熟练层次(实例演示)
  4. 3. dataset,classList对象的使用方式与场景,实例演示

解构赋值

数组解构

  1. // 数组解构
  2. const user = ["Tony", "male", 28];
  3. let [name, sex, age] = user;
  4. console.log(name);
  5. // 参数不足的情况,需要给默认值
  6. [name, sex, age, email = "a@qq.com"] = user;
  7. console.log(email);
  8. // 参数过多的情况下,需要用...语法将多余的数据压缩到一个数组中
  9. [name, ...arr] = user;
  10. console.log(arr);
  11. // 经典案例:x, y值交换;
  12. let x = 10,
  13. y = 20;
  14. [x, y] = [y, x];
  15. console.log("x=%d, y=%d", x, y);

对象解构

  1. // 对象解构,变量必须与键名同名,当然为了解决命名冲突,可以用别名
  2. let nums = { a: 33, b: 44, c: 55 };
  3. let { a, b, c } = nums;
  4. // 等号左边的数据不能是只读或者大括号,所以要在表达式两边加小圆括号
  5. ({ a: num1, b: num2, c: num3 } = nums);
  6. console.log(a, b, c);
  7. console.log(num1, num2, num3);
  8. //参数不足以及参数过多的情况跟数组解构一样
  9. ({ a, b, c, d = 99 } = nums);
  10. console.log(a, b, c, d);
  11. ({ a, ...arr } = nums);
  12. console.log(a, arr);

解构在函数中的使用

  1. // 解构用在函数参数
  2. function getUser({ id, name, age }) {
  3. console.log(id, name, age);
  4. }
  5. let user = { id: 11, name: "sunny", age: 18 };
  6. getUser(user);

DOM操作

  1. <style>
  2. .red {
  3. color: red;
  4. }
  5. .blue {
  6. color: blue;
  7. }
  8. .yellowBg {
  9. background: yellow;
  10. }
  11. .greenBg {
  12. background-color: green;
  13. }
  14. </style>
  15. <div class="list">
  16. <div class="item"><a href="#">item1</a></div>
  17. <div class="item"><a href="#">item2</a></div>
  18. <div class="item"><a href="#">item3</a></div>
  19. <div class="item"><a href="#">item4</a></div>
  20. <div class="item"><a href="#">item5</a></div>
  21. </div>
  22. <script>
  23. // 获取集合,整个.list下面所有的a标签
  24. let a = document.querySelectorAll(".list>div>a");
  25. a.forEach((item) => (item.style.color = "green"));
  26. // 获取单个元素;(最后一个div下面的a标签)
  27. let b = document.querySelector(".list>div:last-of-type>a");
  28. b.style.color = "violet";
  29. // 常见的快捷,名称与html文档里的元素对应
  30. console.log(document.body);
  31. console.log(document.head);
  32. console.log(document.title);
  33. console.log(document.doctype);
  34. console.log(document.forms);
  35. </script>
  1. <div class="list">
  2. <div class="item"><a href="#">item1</a></div>
  3. <div class="item"><a href="#">item2</a></div>
  4. <div class="item"><a href="#">item3</a></div>
  5. <div class="item"><a href="#">item4</a></div>
  6. <div class="item"><a href="#">item5</a></div>
  7. </div>
  8. <script>
  9. // 获取节点
  10. let div = document.querySelector(".list");
  11. // 子节点
  12. console.log(div.children);
  13. // html集合 转换成真数组的二种方式
  14. console.log(Array.from(div.children));
  15. console.log([...div.children]);
  16. // 第一个子元素
  17. div.firstElementChild.style.background = "yellow";
  18. // 下一个元素
  19. div.firstElementChild.nextElementSibling.style.background = "#eee";
  20. // 最后一个元素
  21. div.lastElementChild.style.background = "#999";
  22. // 前一个元素
  23. div.lastElementChild.previousElementSibling.style.background = "#333";
  24. </script>
  1. // 利用append插入数据
  2. let div = document.createElement("div");
  3. let p = document.createElement("p");
  4. p.textContent = "测试";
  5. // 这两句代码,经测试谁先append都无所谓
  6. //div.append(p);
  7. document.body.append(div);
  8. // 四个位置插入(图示)
  9. // beforeBegin, afterBegin, beforeEnd, afterEnd
  10. // <div>__________________</div>;
  11. div.insertAdjacentElement("beforebegin", p); //开始前
  12. div.insertAdjacentElement("afterBegin", p); //开始后
  13. div.insertAdjacentElement("beforeEnd", p); //结束前
  14. div.insertAdjacentElement("afterEnd", p); //结束后

dataset,classList

dataset

  1. <form id="myForm">
  2. <input id="user" type="" name="" value="" data-name="test" />
  3. </form>
  4. <script>
  5. let form = document.forms.myForm;
  6. console.log(form.user.dataset.name);
  7. </script>

classList

普通样式可以用style.color这种写法,如果需要写style里面的类名,需要用className来写。

  1. <style>
  2. .red {
  3. color: red;
  4. }
  5. </style>
  6. <h2>hello world</h2>
  7. <script>
  8. document.querySelector("h2").className = "red";
  9. </script>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议