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 按位左移运算符使用介绍(
Feb 04 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
Oct 16 Javascript
js实现iframe自动自适应高度的方法
Feb 17 Javascript
使用BootStrap实现悬浮窗口的效果
Dec 13 Javascript
node.js中使用Export和Import的方法
Sep 18 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
vue加载完成后的回调函数方法
Sep 07 Javascript
Vue插件从封装到发布的完整步骤记录
Feb 28 Javascript
深入学习JavaScript中的bom
May 27 Javascript
IE11下处理Promise及Vue的单项数据流问题
Jul 24 Javascript
微信小程序 生成携带参数的二维码
Oct 23 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上传文件时自动分配路径的方法
2015/01/09 PHP
PHP中使用imagick实现把PDF转成图片
2015/01/26 PHP
Symfony2学习笔记之控制器用法详解
2016/03/17 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
JavaScript 学习笔记(十四) 正则表达式
2010/01/22 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
javascript制作幻灯片(360度全景图片)
2015/07/28 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
基于jQuery实现的美观星级评论打分组件代码
2015/10/30 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
Vue.js常用指令之循环使用v-for指令教程
2017/06/27 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
微信小程序canvas开发水果老虎机的思路详解
2020/02/07 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
pandas取出重复数据的方法
2019/07/04 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
python实现邮件自动发送
2019/08/10 Python
Python缓存技术实现过程详解
2019/09/25 Python
python中使用input()函数获取用户输入值方式
2020/05/03 Python
Spring @Enable模块驱动原理及使用实例
2020/06/23 Python
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
Linux文件系统类型
2012/02/15 面试题
集体婚礼策划方案
2014/02/22 职场文书
企业法人代表证明书
2014/09/27 职场文书
北京故宫的导游词
2015/01/31 职场文书
党员个人承诺书
2015/04/27 职场文书
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL