Blogger Information
Blog 41
fans 0
comment 0
visits 41141
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
构造函数原型|对象原型|获取dom元素| dom元素的增删改查
幸福敲门的博客
Original
573 people have browsed it

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

一、构造函数的原型与对象原型

  1. <script>
  2. function f1() {}
  3. console.dir(f1);
  4. // 声明一个构造函数
  5. function User(name, age,sex) {
  6. // 1. 创建出一个新对象,用this来表示(伪代码,系统自动创建并执行)
  7. // const this = new User;
  8. // 2.初始化对象,给这个对象添加一个自定义属性,用来和其它实例进行区分
  9. this.name = name;
  10. this.age = age;
  11. this.sex = sex;
  12. // 3. 返回这个对象
  13. // return this;
  14. }
  15. const user = new User("黄蓉", 18,"girl");
  16. console.log(user instanceof User);
  17. console.log(user);
  18. user.__proto__.salary = 3600;
  19. console.log(user.salary);
  20. const user1 = new User("郭靖", 20,"boy");
  21. console.log(user1);
  22. // console.log(user1.salary);
  23. console.dir(User);
  24. // 实例的原型永远指向它的构造函数的原型,实例的原型从构造函数的原型继承成员(属性/方法)
  25. console.log(user1.__proto__ === User.prototype);
  26. // 需要被所有类实例共享的成员,应该写到构造函数的原型上
  27. User.prototype.nation = "CHINAMADE";
  28. console.log(user.nation, user1.nation);
  29. // 属性通常不应该共享的,它是区分不同对象的标志,方法更适合共享
  30. User.prototype.show = function () {
  31. return { name: this.name, age: this.age, sex: this.sex };
  32. };
  33. console.log(user.show());
  34. console.log(user1.show());
  35. </script>

图示:
构造函数的原型与对象原型

二、获取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

css 选择器获取满足条件的所有元素实例

  1. <body>
  2. <ul id="list">
  3. <li class="items">items10</li>
  4. <li class="items">items20</li>
  5. <li class="items">items30</li>
  6. <li class="items">items40</li>
  7. <li class="items">items50</li>
  8. <li class="items">items60</li>
  9. <li class="items">items70</li>
  10. <li class="items">items80</li>
  11. </ul>
  12. <script>
  13. // 使用css选择器是最直观的
  14. // 1. 获取满足条件的所有元素
  15. const lis = document.querySelectorAll("#list li");
  16. console.log(lis);
  17. </script>
  18. </body>

图示:
css 选择器获取满足条件的所有元素

获取满足条件的第一个元素

  1. <script>
  2. first = document.querySelector("#list li");
  3. console.log(first);
  4. </script>

图示:
获取满足条件的第一个元素

三、dom元素的增删改

3.1dom元素的增

  1. <body>
  2. <ul id="list">
  3. <li class="items">items10</li>
  4. <li class="items">items20</li>
  5. <li class="items">items30</li>
  6. <li class="items">items40</li>
  7. <li class="items">items50</li>
  8. <li class="items">items60</li>
  9. <li class="items">items70</li>
  10. <li class="items">items80</li>
  11. </ul>
  12. <script>
  13. const ul = document.querySelector("#list");
  14. // 1. 创建元素
  15. const li = document.createElement("li");
  16. // parent.appendChild(newEl),添加到页面
  17. ul.appendChild(li);
  18. li.innerText = "items90";
  19. // li.innerHTML = '<i style="color:red">items60</i>';
  20. let htmlStr = "<li style='color:red'>items90</li>";
  21. </script>
  22. </body>

图示:
dom元素的增
dom元素的增加多个

  1. const ul = document.querySelector("#list");
  2. const frag = new DocumentFragment();
  3. for (let i = 0; i < 5; i++) {
  4. const li = document.createElement("li");
  5. li.textContent = "Hello " + (i + 1);
  6. // 将生成的节点先临时挂载到文档片断中
  7. frag.appendChild(li);
  8. }
  9. ul.appendChild(frag);`

3.2dom元素的改:

  1. <body>
  2. <ul id="list">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. </ul>
  9. <script>
  10. let h2 = document.createElement("h2");
  11. h2.innerHTML = "石家庄,加油!";
  12. document.querySelector("li:nth-of-type(4)").replaceWith(h2);
  13. ul.replaceChild(h2, document.querySelector("li:last-of-type"));
  14. </script>
  15. </body>

图示:
dom元素的改
3.3dom元素的删

  1. <body>
  2. <ul id="list">
  3. <li class="item">item1</li>
  4. <li class="item">item2</li>
  5. <li class="item">item3</li>
  6. <li class="item">item4</li>
  7. <li class="item">item5</li>
  8. <li class="item">item6</li>
  9. <li class="item">item7</li>
  10. <li class="item">item8</li>
  11. </ul>
  12. <script>
  13. const ul = document.querySelector("#list");
  14. ul.removeChild(document.querySelector('#list>.item:nth-of-type(5)'));
  15. </script>
  16. </body>

图示:
dom元素的删

3.4dom元素的查

  1. // 获取所有子元素
  2. console.log(ul.children);
  3. // 获取子元素数量
  4. console.log(ul.children.length);
  5. console.log(ul.childElementCount);
  6. // 第一个子元素
  7. console.log(ul.firstElementChild);
  8. // 最后一个
  9. console.log(ul.lastElementChild);
  10. // 父节点
  11. console.log(ul.lastElementChild.parentElement);
  12. // 前一个兄弟
  13. const jiu = document.querySelector("#list li:nth-of-type(3)");
  14. jiu.style.background = "yellow";
  15. console.log(jiu.previousElementSibling.innerHTML);
  16. // 后一个兄弟
  17. console.log(jiu.nextElementSibling.innerHTML);
Correcting teacher:天蓬老师天蓬老师

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