javascript创建元素和删除元素实例小结


Posted in Javascript onJune 19, 2019

本文实例讲述了javascript创建元素和删除元素。分享给大家供大家参考,具体如下:

1、创建元素

动态创建新的DOM元素,是js操作网页对象模型的重要手段之一。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com 创建新元素</title>
  <script type="text/javascript">
    //创建新元素
    function createNewElements(){
      //使用innerHTML创建新元素
      var p1 = document.getElementById("p1");
      //设置innerHTML内容
      p1.innerHTML = "<span>我的dom文本1</span>";
      //使用createElement来创建新元素
      var span = document.createElement("span");
      //为新元素内容创建一个文本节点
      span.appendChild(document.createTextNode("我的dom文本2"));
      var p2 = document.getElementById("p2");
      //挂接
      p2.appendChild(span);
    }
  </script>
</head>
<body style="text-align:center">
  <p>
    <input type="button" value="创建新元素" onclick="createNewElements()"/>
  </p>
  <!--定义为新元素挂接的容器元素-->
  <p id="p1"></p>
  <p id="p2"></p>
</body>
</html>

运行效果:

javascript创建元素和删除元素实例小结

创建新元素通常有2种方法:

1、直接修改父元素的innerHTML元素;

2、使用createElement()来创建,再用appendChild()进行DOM元素的挂接。

第一种方法用起来较为简单,也易于理解,但需要修改整个父元素所包含的HTML内容,若父元素原先就包含了一些HTML内容,再进行DOM挂接的话,执行效率会较低;第二种方法相对较为灵活,效率也较高,只是用起来复杂一些。

2、删除元素

删除元素指的是把这个DOM元素彻底删除,而不是隐藏。通常,使用removeChild()进行删除是最常见的方法。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>3water.com 删除元素</title>
  <script type="text/javascript">
    //删除元素
    function deleteElement(){
      //获取准备删除的DOM
      var del = document.getElementById("del");
      //调用删除函数彻底删除
      del.parentNode.removeChild(del);
    }
  </script>
</head>
<body style="text-align:center">
  <p>
    <input type="button" value="删除元素" onclick="deleteElement()"/>
  </p>
  <!--定义被删除的元素-->
  <span id="del">即将被删除的DOM</span>
</body>
</html>

解析:

由于removeChild()是对子元素的操作,而不是自身的删除。所以,需要先获取待删除元素的父元素,然后再调用该函数。本例中,是先使用parentNode属性获得待删除元素的父元素,再删除目标元素。

3、删除所有的子元素

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>删除所有的子元素</title>
  <script type="text/javascript">
    //删除元素的函数
    function deleteChilds(){
      //获取父DOM
      var ul = document.getElementsByTagName('ul')[0];
      //判断是否包含子元素
      if (ul.hasChildNodes()) {
        var len = ul.childNodes.length;     //子元素的个数
        for (var i = 0; i < len; i++) {     //遍历
          ul.removeChild(ul.childNodes[0]);//从第一个元素开始删除
        }
      }
    }
  </script>
</head>
<body style="text-align:center">
  <ul>
    <li>item1</li>
    <li>item2</li>
    <li>item3</li>
    <li>item4</li>
  </ul>
  </br>
  <input type="button" value="删除所有的子元素" onclick="deleteChilds()" />
</body>
</html>

解析:删除子元素,可通过js提供的removeChild()来实现。此外,需要意识到的另一点是,在遍历删除节点的过程中,每删除一个子元素,子元素的个数就会少一个,因此,示例代码始终删除的是第一个子元素,直到没有任何子元素为止。

注:

document.getElementsByTagName(“ul”) 返回的是一个数组,后面这个0是表示这个数组的第一个元素,而本网页中ul标签就一个,因此指的就是这个ul标签了。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

更多关于JavaScript相关内容可查看本站专题:《JavaScript操作DOM技巧总结》、《JavaScript页面元素操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
细说javascript函数从函数的构成开始
Aug 29 Javascript
JavaScript的21条基本知识点
Mar 04 Javascript
JSON格式化输出
Nov 10 Javascript
Javascript简单实现面向对象编程继承实例代码
Nov 27 Javascript
Node.js 条形码识别程序构建思路详解
Feb 14 Javascript
JS 获取HTML标签内的子节点的方法
Sep 21 Javascript
给easyui datebox扩展一个清空的实例
Nov 09 Javascript
快速入门Vue
Dec 19 Javascript
jQuery简介_动力节点Java学院整理
Jul 04 jQuery
基于js中style.width与offsetWidth的区别(详解)
Nov 12 Javascript
解决qrcode.js生成二维码时必须定义一个空div的问题
Jul 09 Javascript
JS实现简易图片自动轮播
Oct 16 Javascript
Vue 2.0 侦听器 watch属性代码详解
Jun 19 #Javascript
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
Jun 19 #Javascript
js简单遍历获取对象中的属性值的方法示例
Jun 19 #Javascript
ionic4+angular7+cordova上传图片功能的实例代码
Jun 19 #Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
Jun 19 #Javascript
JavaScript箭头函数中的this详解
Jun 19 #Javascript
基于Node.js的大文件分片上传示例
Jun 19 #Javascript
You might like
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
php getcwd与dirname(__FILE__)区别详解
2016/09/24 PHP
PHP快速排序算法实现的原理及代码详解
2019/04/03 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
jquery.validate使用攻略 第一部
2010/07/01 Javascript
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
JQuery select(下拉框)操作方法汇总
2015/04/15 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
2020/07/28 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
[56:38]DOTA2-DPC中国联赛正赛Aster vs Magma BO3 第一场 3月5日
2021/03/11 DOTA
python实现随机森林random forest的原理及方法
2017/12/21 Python
Python实现Pig Latin小游戏实例代码
2018/02/02 Python
使用apidocJs快速生成在线文档的实例讲解
2018/02/07 Python
Python常用的json标准库
2019/02/19 Python
python傅里叶变换FFT绘制频谱图
2019/07/19 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
python绘制动态曲线教程
2020/02/24 Python
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
初中生三年学习生活的自我评价
2013/11/03 职场文书
高三毕业生自我鉴定
2013/12/20 职场文书
大学军训感言200字
2014/02/26 职场文书
2015社区健康教育工作总结
2015/05/20 职场文书