博主信息
博文 18
粉丝 0
评论 0
访问量 20324
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
构造函数、原型和Dom操作
沉寂的博客
原创
913人浏览过

构造函数、原型和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举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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

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