Blogger Information
Blog 12
fans 0
comment 1
visits 12561
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
原生Js增删改查及解构赋值
月缺
Original
1269 people have browsed it

原生Js增删改查及解构赋值

解构赋值

  1. // 解构赋值
  2. const [a, b, c] = [1,2,3];
  3. console.log(a,b,c); // 打印 1 2 3
  4. const [arr, obj] = [[1,2,3], {name: '张三'}];
  5. console.log(arr, obj); // 打印 [1,2,3] {name: '张三'}
  6. const { name } = { name: '里斯', age: 18 };
  7. console.log(name); // 打印 里斯
  8. // function person(user) {
  9. // console.log(user.name, user.age, user.sex);
  10. // }
  11. function person({name, age, sex}) {
  12. console.log(name, age, sex);
  13. }
  14. person({name: '张三丰', age: 105, sex: '男'});

Dom元素的增删改查基本操作

  1. <p>我是原本的文档元素</p>
  2. <button onclick="deldom(event)">删除自身</button>
  3. <button onclick="update()">修改</button>
  4. <div class="home">
  5. <ul class="list">
  6. <li class="item">item1</li>
  7. <li class="item">item2</li>
  8. <li class="item">item3</li>
  9. <li class="item">item4</li>
  10. <li class="item">item5</li>
  11. </ul>
  12. </div>
  13. <script>
  14. // DOM增删改查
  15. // 新增操作
  16. let tag_p = document.createElement('p');
  17. tag_p.textContent = '我是新增的p标签元素';
  18. document.body.append(tag_p);
  19. /**
  20. * ? append新增操作是往当前目标节点内部末尾部分追加
  21. * ? insertAdjacentElement 新增函数,接收两个参数,相比较append,它根据第一个参数可以指定新增插入位置
  22. * afterBegin 开始标签之后, 第一个子元素
  23. * beforeBegin 开始标签之前, 是它的前一个兄弟元素
  24. * afterEnd 结束标签之后, 是它的下一个兄弟元素
  25. * beforeEnd 结束标签之前, 是它的最后一个子元素
  26. * */
  27. // document.body.insertAdjacentElement('afterBegin');
  28. // 删除操作
  29. function deldom(ev) {
  30. ev.target.remove();
  31. }
  32. // 更改操作
  33. // 先拿到目标文档节点,节点本身是一个对象数据类型,操作节点上的属性,就相当于更改文档
  34. function update() {
  35. let default_p = document.querySelector('p');
  36. default_p.style.backgroundColor = 'yellowgreen';
  37. default_p.textContent = '我是修改后的文档元素';
  38. }
  39. // 查询操作
  40. // querySelecto返回查询匹配到的第一个文档元素
  41. // querySelectorAll返回查询匹配到的所有文档元素, 类数组集合但不是数组
  42. const tag_uls = document.querySelector('.item');
  43. const tag_lis = document.querySelectorAll('.item');
  44. console.log(tag_uls, tag_lis);
  45. </script>

运行效果:
运行结果

dataset,classList对象的使用方式

  1. <ul class="list">
  2. <li data-index="15" class="item">元素标签1</li>
  3. <li class="item">元素标签2</li>
  4. <li class="item">元素标签3</li>
  5. <li data-index="12" class="item">元素标签4</li>
  6. <li class="item">元素标签5</li>
  7. <li class="item">元素标签6</li>
  8. </ul>
  9. <button onclick="update()">变更操作</button>
  10. <style>
  11. .active {
  12. color: #c9ff19;
  13. background-color: #536b04;
  14. }
  15. </style>
  16. <script>
  17. // dataset,classList对象的使用方式与场景,实例演示
  18. // dataset自定义属性
  19. let tag_lis = document.querySelectorAll('.item');
  20. let tatget_tag = document.querySelector('[data-index="12"]').dataset.index;
  21. [...tag_lis].filter((v) => v.dataset.index === tatget_tag)[0].style.backgroundColor = 'orangered';
  22. // classList对象添加元素节点样式类名
  23. let cls_tag = document.querySelector('[data-index="15"]').dataset.index;
  24. [...tag_lis].filter((v) => v.dataset.index === cls_tag)[0].classList.add('active');
  25. function update() {
  26. [...tag_lis].map(v=>{
  27. if(!v.dataset.index) {
  28. v.dataset.index = 15;
  29. }
  30. return v;
  31. });
  32. console.log(tag_lis);
  33. [...tag_lis].filter((v) => v.dataset.index === tatget_tag)[0].style.backgroundColor = 'orangered';
  34. [...tag_lis].filter((v) => v.dataset.index === cls_tag).map((item)=>item.classList.add('active'));
  35. }
  36. </script>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post