博主信息
博文 70
粉丝 1
评论 0
访问量 68772
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
构造函数|对象原型-dom获取-增删改查
葡萄枝子
原创
865人浏览过

构造函数|对象原型-dom获取-增删改查

  1. 举例说明构造函数的原型与对象原型之间的区别与联系;
  2. 举例演示获取dom元素的常用方法;
  3. dom元素的增删改查常用操作,全部实例演示,并配图

body中添加 html

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

1. 举例说明构造函数的原型与对象原型之间的区别与联系

实例对象的原型指向它的构造函数的原型
实例对象的原型从构造函数的原型继承成员(属性/方法)

  1. // 声明一个构造函数
  2. function User(name, email) {
  3. this.name = name;
  4. this.email = email;
  5. }
  6. // 构造函数的原型上添加属性和方法
  7. // 原型属性
  8. User.prototype.nation = "China";
  9. // 原型方法
  10. User.prototype.show = function () {
  11. return {
  12. name: this.name,
  13. nation: this.nation,
  14. gender: this.gender,
  15. };
  16. };
  17. // 实例对象的原型从构造函数的原型继承成员(属性/方法)
  18. // 实例对象的原型指向它的构造函数的原型
  19. const user1 = new User("a");
  20. // 示例对象的原型
  21. user1.__proto__.gender = "男";
  22. // 实例对象的原型指向它的构造函数的原型
  23. // 返回 true
  24. console.log(user1.__proto__ === User.prototype);
  25. // 继承构造函数原型的属性 nation 和方法 show
  26. const user2 = new User("b");
  27. // 返回 China {name: "b", nation: "China", gender: "男"}
  28. console.log(user2.nation, user2.show());

构造函数与对象原型

2. 举例演示获取dom元素的常用方法

  • css 选择器
    • document.querySelectorAll() 获取满足条件的所有元素
    • document.querySelector() 获取满足条件的第一个元素
  • 传统方法
    • document.getElementById()
    • document.getElementsByTagName()
    • document.getElementsByName()
    • document.getElementsByClassName()
  • 快捷方式
    • html: document.documentElement
    • head: document.head
    • body: document.body
    • title: document.title
    • forms
      • document.forms[0]
      • document.forms.item(0)
    • images
      • document.images
    • anchors
      • document.anchors
  1. // css 选择器
  2. // 获取满足条件的所有元素
  3. const lis = document.querySelectorAll("#list>.item");
  4. lis.forEach(item => console.log(item));
  5. // 获取满足条件的第一个元素
  6. const li = document.querySelector("#list>.item");
  7. console.log(li);

css选择器

3. dom元素的增删改查常用操作,全部实例演示,并配图

  1. // 开头增加一个
  2. ul.insertAdjacentElement("afterbegin", document.createElement('li')).innerHTML = 'item0';
  3. ul.insertAdjacentHTML("afterbegin", '<li>item-1</li>');

开头增加一个

  1. // 末尾增加一个
  2. ul.appendChild(document.createElement('li')).innerHTML = 'item4';
  3. ul.insertAdjacentElement("beforeend", document.createElement('li')).innerHTML = 'item5';
  4. ul.insertAdjacentHTML("beforeend", '<li>item+1</li>');

末尾增加一个

  1. // 增加多个
  2. const frag = document.createDocumentFragment();
  3. for (let i = 0; i < 2; i++) {
  4. frag.appendChild(document.createElement('li')).textContent = 'item+'+(i+2);
  5. }
  6. ul.appendChild(frag);

增加多个

  1. // 删除第3个
  2. ul.removeChild(document.querySelector('#list>.item:nth-of-type(3)'));

删除

  1. // 修改第3个
  2. const replaceItem = document.createElement('li');
  3. replaceItem.innerHTML = 'item2-2';
  4. document.querySelector('#list>.item:nth-of-type(3)').replaceWith(replaceItem);

修改

  1. // 第一个子元素
  2. console.log(document.querySelector('#list').firstElementChild);
  3. // 最后一个
  4. console.log(document.querySelector('#list').lastElementChild);
  5. // 父节点
  6. console.log(document.querySelector('li:first-of-type').parentElement);
  7. // 第7个元素
  8. const seven = document.querySelector("#list>li:nth-of-type(7)");
  9. // 前一个兄弟
  10. console.log(seven.previousElementSibling.innerHTML);
  11. // 后一个兄弟
  12. console.log(seven.nextElementSibling.innerHTML);

查找元素

批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:关键是还是要多写才可以记住规则
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学