博客列表 >构造函数、原型和Dom操作

构造函数、原型和Dom操作

沉寂的博客
沉寂的博客原创
2021年01月18日 12:18:50683浏览

构造函数、原型和Dom操作

  任何一个函数都有一个原型:prototype,prototype 对于普通函数没用,对构造函数才有用,构造函数是“对象的工厂”,是用来创建对象的,对象也叫实例 ;

  构造函数必须用new来调用,普通函数不用,new的过程就是类的实例化过程,就是创建一个对象的过程,创建对象的过程就叫类的实例化;

  1. // 声明一个构造函数
  2. function User(name, email) {
  3. // 1.创建出一个新对象,用this来表示(伪代码,系统自动创建并执行)
  4. // const this = new User();
  5. // 2.初始化对象,给这个对象添加一个自定义的属性,用来和其它实例进行区分
  6. this.name = name;
  7. this.email = email;
  8. // 3.返回这个对象(系统自动返回,不用写)
  9. // return this;
  10. }

Dom操作

  Dom没操作分为增、删、改和查这四种操作。
代码如下所示:

  1. <ul id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">item4</li>
  6. <li class="item">item5</li>
  7. </ul>

js代码如下:

  1. <script>
  2. // 创建子元素用doucument.createElement(),添加元素要在父节点上添加,用appendChild();
  3. const ul = document.querySelector("#list");
  4. const li = document.createElement("li");
  5. // 在父节点上添加子元素
  6. // ul.appendChild(li);
  7. li.innerHTML = "item6";
  8. // insertAdjacentHTML必须是HTML标签代码
  9. // ul.insertAdjacentHTML("beforeEnd", "<li>8888</li>");
  10. // insertAdjacentHTML插入式可以写变量元素
  11. // ul.insertAdjacentElement("afterBegin", li);
  12. //替换
  13. // 子节点上替换用replaceWith(h3)
  14. let h3 = document.createElement("h3");
  15. h3.innerHTML = "Hello";
  16. // document.querySelector("#list li:nth-of-type(1)").replaceWith(h3);
  17. // 也可以在父节点上替换用,replaceChild(h3,document.querySelector('#list li:last-of-type')
  18. ul.replaceChild(h3, document.querySelector("#list li:last-of-type"));
  19. // 移除
  20. // 用RemoveChild(document.querySelector('#list li:first-of-type'));在父节点上调用
  21. // ul.removeChild(document.querySelector("#list li:nth-of-type(3)"));
  22. // 遍历查询获取所有子元素
  23. console.log(ul.children);
  24. // 获取子元素的数量
  25. console.log(ul.children.length);
  26. console.log(ul.childElementCount);
  27. // 获取第一个子元素
  28. console.log(ul.firstElementChild);
  29. // console.log(ul.firstChild);
  30. // 获取最后一个子元素
  31. console.log(ul.lastElementChild);
  32. // console.log(ul.lastChild);
  33. // 改变css属性,先选中,然后改变
  34. // 父节点
  35. console.log(ul.lastElementChild.parentElement);
  36. let three = document.querySelector("#list li:nth-of-type(3)");
  37. three.style.background = "blue";
  38. //前一个兄弟元素
  39. console.log(three.previousElementSibling.innerHTML);
  40. //后一个兄弟元素
  41. console.log(three.nextElementSibling.innerHTML);
  42. </script>

执行结果:
Dom操作

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