博主信息
博文 20
粉丝 0
评论 0
访问量 19980
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
JS学习小结(构造函数原型与对象原型的关系、获取dom元素的常用方法、dom元素的增删改查)
庖丁
原创
1032人浏览过

1.构造函数原型与对象原型

构造函数是对象的生产工厂,生产出来的对象,其原型会指向构造函数的原型,对象的原型会从构造函数的原型继承成员(属性和方法),示例如下

  1. function Obj(name,age){
  2. this.name = name;
  3. this.age = age;
  4. }
  5. const student1 = new Obj("张三",8);
  6. console.log(student1);
  7. console.log(student1 instanceof Obj);
  8. Obj.prototype.banji = "三年级";
  9. console.log(student1);
  10. Obj.prototype.show = function(){
  11. return `学生${this.name}的年龄是${this.age}岁,目前上${this.banji}。`;
  12. };
  13. console.log(student1.show());

2.获取dom元素的常用方法

获取元素的常用方法一般有四种,通过css选择器,css属性选择器获取,通过id获取,通过标签元素获取。
示例如下

  1. <title>
  2. 跟着朱老师学php
  3. </title>
  4. <body>
  5. <ul>
  6. <li id="site">首页</li>
  7. <li class="lanmu">栏目1</li>
  8. <li class="lanmu">栏目2</li>
  9. <li class="lanmu">栏目3</li>
  10. <li class="lanmu">栏目4</li>
  11. </ul>
  12. <script>
  13. //通过标签元素获取,获取后用数组下标的方式调用某个元素
  14. let huoQu = document.getElementsByTagName("title");
  15. console.log(huoQu[0]);
  16. //通过id获取,直接调用,不检查id是否唯一,返回第一个
  17. huoQu = document.getElementById("site");
  18. console.log(huoQu);
  19. //通过css属性选择器,用数组索引号的方式调用某个元素
  20. huoQu = document.getElementsByClassName("lanmu");
  21. console.log(huoQu[2]);
  22. //通过css选择器,适用范围最广,既能用id也能用css属性,还能用标签
  23. huoQu = document.querySelectorAll(".lanmu");
  24. console.log(huoQu);
  25. huoQu = document.querySelectorAll("#site");
  26. console.log(huoQu[0]);
  27. huoQu = document.querySelectorAll("ul");
  28. console.log(huoQu[0]);
  29. </script>
  30. </body>

3.dom元素的增删改查

一、dom元素的增加

方法①,通过父元素添加子元素的方法

1、创建元素要用createElement方法
2、给元素添加内容有两种方法,一种是innerHTML,一种是innerText
3、添加到页面中,要用appendChild方法,应用在其父元素上
示例如下

  1. <body>
  2. <ul>
  3. <li id="site">首页</li>
  4. <li class="lanmu">栏目1</li>
  5. <li class="lanmu">栏目2</li>
  6. <li class="lanmu">栏目3</li>
  7. <li class="lanmu">栏目4</li>
  8. </ul>
  9. <script>
  10. const ul = document.querySelector("ul");
  11. const li = document.createElement('li');
  12. li.innerHTML = "<i>栏目5</i>";
  13. ul.appendChild(li);
  14. console.log(ul);
  15. </script>
  16. </body>

方法②,通过父元素添加字符串的方法

1、需要使用 AdjacentHTML方法
2、AdjacentHTML(),方法有两个参数,第一个是插入位置,比如beforeEnd(结束标签之前)、afterBegin(开始标签之后),第二个参数是插入字符串
示例如下

  1. <body>
  2. <ul>
  3. <li id="site">首页</li>
  4. <li class="lanmu">栏目1</li>
  5. <li class="lanmu">栏目2</li>
  6. <li class="lanmu">栏目3</li>
  7. <li class="lanmu">栏目4</li>
  8. </ul>
  9. <script>
  10. const ul = document.querySelector("ul");
  11. const li = document.createElement('li');
  12. let str = '<li class="lanmu">栏目5</li>';
  13. ul.insertAdjacentHTML("beforeEnd",str);
  14. console.log(ul);
  15. </script>
  16. </body>

批量添加元素,需要使用文档片段或者字符串方式

文档片段方法为createDocumentFragment(),利用for循环将所有生成的元素挂载到文档片段上面,然后统一添加。
示例如下

  1. <body>
  2. <ul>
  3. <li id="site">首页</li>
  4. <li class="lanmu">栏目1</li>
  5. <li class="lanmu">栏目2</li>
  6. <li class="lanmu">栏目3</li>
  7. <li class="lanmu">栏目4</li>
  8. </ul>
  9. <script>
  10. const ul = document.querySelector("ul");
  11. const frag = document.createDocumentFragment();
  12. for(let i=0;i<5;i++){
  13. const li = document.createElement('li');
  14. li.innerText = `栏目${i+5}`;
  15. frag.appendChild(li);
  16. }
  17. ul.appendChild(frag);
  18. console.log(ul);
  19. </script>
  20. </body>

运算结果如下图所示

二、dom元素的修改

修改替换,使用的是replaceWith()方法
如果用父级方法,使用的是replaceChild(替换内容,被替换的子元素)

  1. <body>
  2. <ul>
  3. <li id="site">首页</li>
  4. <li class="lanmu">栏目1</li>
  5. <li class="lanmu">栏目2</li>
  6. <li class="lanmu">栏目3</li>
  7. <li class="lanmu">栏目4</li>
  8. </ul>
  9. <script>
  10. const li3 = document.querySelector("li:nth-of-type(4)");
  11. let tiHuan = document.createElement('li');
  12. tiHuan.innerHTML = '这个栏目内容被替换';
  13. li3.replaceWith(tiHuan);
  14. console.log(li3);
  15. </script>
  16. </body>

运算结果如图所示

三、dom元素的删除

使用父节点操作方法 removeChild()
示例如下

  1. <body>
  2. <ul>
  3. <li id="site">首页</li>
  4. <li class="lanmu">栏目1</li>
  5. <li class="lanmu">栏目2</li>
  6. <li class="lanmu">栏目3</li>
  7. <li class="lanmu">栏目4</li>
  8. </ul>
  9. <script>
  10. const ul = document.querySelector("ul");
  11. const li3 = document.querySelector("li:nth-of-type(4)");
  12. ul.removeChild(li3);
  13. </script>
  14. </body>

四、dom元素的遍历查找

//获取所有子元素
ul.children
//获取所有子元素的数量
ul.childElementCount

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

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系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+教程免费学