创建新的 HTML 元素 (节点) - appendChild()

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title></head><body><div id="div1"><p id="demo">原始节点</p><button id="add">添加新节点</button></div></body><script>document.getElementById("add").addEventListener('click',add);function add(){var para = document.createElement('p');para.className ="p1";//让新增的每个p节点的class名为"p1"var content = document.createTextNode("新的一条节点");para.appendChild(content);var element = document.getElementById("div1");element.appendChild(para);}</script>
</html>

实例解析:
以下代码是用于创建 <p> 元素:

var para = document.createElement('p');

<p> 元素创建一个新的文本节点:

var content = document.createTextNode("新的一条节点");

将文本节点添加到 <p> 元素中:

para.appendChild(content);

最后,在一个已存在的元素中添加 p 元素。
查找已存在的元素:

var element = document.getElementById("div1");

添加到已存在的元素中:

element.appendChild(para);

运行截图:


创建新的 HTML 元素 (节点) - insertBefore()

实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title></head><body><div id="div1"><p id="demo">原始节点</p><button id="add">添加新节点</button></div></body><script>document.getElementById("add").addEventListener('click',add);function add(){var para = document.createElement('p');para.className ="p1";//让新增的每个p节点的class名为"p1"var content = document.createTextNode("新的一条节点");para.appendChild(content);var element = document.getElementById("div1");element.insertBefore(para,demo);}</script>
</html>

实例解析:

     element.insertBefore(para,demo);

在id为demo标签前面插上para节点。

运行截图:


移除已存在的元素

在前面代码的基础上再添加移除代码
实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title></head><body><div id="div1"><p id="demo">原始节点</p><button id="add">添加新节点</button><button id="del">移除新节点</button></div></body><script>document.getElementById("add").addEventListener('click',add);document.getElementById("del").addEventListener('click',del);var count = -1;function add(){var para = document.createElement('p');para.className ="p1";//让新增的每个p节点的class名为"p1"var content = document.createTextNode("新的一条节点");para.appendChild(content);var element = document.getElementById("div1");count++;element.appendChild(para);}function del(){var parent = document.getElementById("div1");var child = document.getElementsByClassName("p1")[0];if(document.getElementsByClassName('p1')[0]==null){alert('已经移除完了');return 0;}parent.removeChild(child);count -= 1;}</script>
</html>

移除函数:

function del(){var parent = document.getElementById("div1");var child = document.getElementsByClassName("p1")[0];if(document.getElementsByClassName('p1')[0]==null){return 0;}parent.removeChild(child);count -= 1;}

实例解析:
查找 id="div1" 的元素:

var parent = document.getElementById("div1");

查找 第一条class="p1"<p> 元素:

var child = document.getElementById("p1")[0];

从父元素中移除子节点(每个class="p1"标签的第一个子节点):

parent.removeChild(child);

判断是否移除完毕,若移除完毕则退出函数:

document.getElementsByClassName('p1')[0]==null

运行截图:


替换 HTML 元素 - replaceChild()

代码实例:

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title></head><body><div id="div1"><p id="demo">原始节点</p><button id="add">添加新节点</button><button id="del">移除新节点</button><button id="rep">替换修改新节点</button></div></body><script>document.getElementById("add").addEventListener('click',add);document.getElementById("del").addEventListener('click',del);document.getElementById("rep").addEventListener('click',rep);var count = -1;var count1 = 0;function add(){var para = document.createElement('p');para.className ="p1";//让新增的每个p节点的class名为"p1"var content = document.createTextNode("新的一条节点");para.appendChild(content);var element = document.getElementById("div1");count++;element.appendChild(para);}function del(){var parent = document.getElementById("div1");var child = document.getElementsByClassName("p1")[0];if(document.getElementsByClassName('p1')[0]==null){alert('已经移除完了');return 0;}parent.removeChild(child);count -= 1;count1 -= 1;}function rep(){if(count>-1){var para = document.createElement("p");para.className="p1";var node = document.createTextNode("修改替换后的节点");para.appendChild(node);var parent = document.getElementById("div1");var child = document.getElementsByClassName("p1")[count1];console.log(count);if(document.getElementsByClassName('p1')[count].innerHTML=="新的一条节点"){count1 += 1;parent.replaceChild(para,child);}else{alert("全都替换完毕");return 0;}}else alert('没有可替换选项');}</script>
</html>
 function rep(){if(count>-1){var para = document.createElement("p");para.className="p1";var node = document.createTextNode("修改替换后的节点");para.appendChild(node);var parent = document.getElementById("div1");var child = document.getElementsByClassName("p1")[count1];console.log(count);if(document.getElementsByClassName('p1')[count].innerHTML=="新的一条节点"){count1 += 1;parent.replaceChild(para,child);}else{return 0;}}}

实例解析:
让新节点替换原来的节点(从第一条开始替换):
新节点para,旧节点child

parent.replaceChild(para,child);

判断最后一条旧节点是否还存在,若存在进行替换操作,否则替换完毕:

document.getElementsByClassName('p1')[count].innerHTML=="新的一条节点")

运行截图:


总结:

appendChild(para)//新增子节点,添加新元素para到尾部
insertBefore(para,child)//新节点para元素添加到指定的节点child元素的开始位置
parent.removeChild(child);//从父元素parent中删除子节点child
replaceChild(para,child);//让para节点替换child节点

【web前端】JavaScript DOM元素(节点的创建appendChild(),删除removeChild(),修改replaceChild())相关推荐

  1. JavaScript DOM 6 - 节点的创建,插入,替换,删除

    1: 节点的创建 新建一个新节点的方式主要有三种: 1: createElement() document.createElement(tagName); //返回一个HTMLElement类型的节点 ...

  2. web前端-JavaScript中的函数(创建,参数,返回值,方法,函数作用域,立即执行函数)

  3. Web前端JavaScript笔记(4)节点

    如何获取元素节点的属性: 在Web前端JavaScript笔记(3)对象中,介绍了访问行间属性的方法,除此之外,系统还提供了三个方法访问元素的属性: 1. setAttribute: 2. getAt ...

  4. Web前端-JavaScript基础教程上

    Web前端-JavaScript基础教程 将放入菜单栏中,便于阅读! JavaScript是web前端开发的编程语言,大多数网站都使用到了JavaScript,所以我们要进行学习,JavaScript ...

  5. web前端JavaScript嵌入百度地图API的方法 最详细

    web前端JavaScript嵌入百度地图API最详细的方法 一.申请成为百度开发者,获得使用地图API接口的权限,获取(AK)码. 二.实现首图效果(可以参考开发者指南) 1. 根据Hello Wo ...

  6. Web前端-JavaScript基础教程下

    Web前端-JavaScript基础教程下 <script>有6个属性: async对外部脚本有效,可以用来异步操作,下载东西,不妨碍其他操作. charset为src属性指定字符集. d ...

  7. web前端css伪元素使用阿里iconfont中Unicode编码

    web前端css伪元素使用阿里iconfont中Unicode编码 在阿里iconfont中创建项目 新建项目 搜索自己想要的图标并添加入库 点击购物车 添加至项目 回到"我的项目" ...

  8. html dom 替换节点,从javascript dom文本节点替换

    我正在使用javascript处理xhtml.我通过连接nodeType == Node.TEXT_NODE的所有子节点的nodeValue来获取div节点的文本内容.从javascript dom文 ...

  9. JavaScript - DOM 克隆节点方法 - cloneNode

    JavaScript - DOM 克隆节点方法 - cloneNode 具体看代码即可:(调用者为要克隆的节点) <!DOCTYPE html> <html lang="e ...

最新文章

  1. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
  2. 新能源关键技术预见的研究
  3. 数据对智慧城市建设 起到极大作用
  4. linux安装python3.7的步骤_centos7安装python3 的三种方式
  5. jsp给前端注入值失败_基于 qiankun 的微前端最佳实践(图文并茂) 应用间通信篇...
  6. 分布式算法(一致性Hash算法)
  7. 一条空间不足报警的分析
  8. primefaces_Primefaces选项卡,TabMenu,TabView,TagCloud
  9. 简述计算机绘图的应用领域试卷,计算机绘图试卷A(标准答案)
  10. 子网掩码最简单通俗的解释
  11. 电路分压的基本公式忘记了~~
  12. 安装 Eyoucms
  13. 南京最最最牛逼的 IT 公司全在这了
  14. CSS3重复渐变(线性和径向渐变)
  15. linux服务器通过代理连接网络
  16. Java:String类学习笔记
  17. PokerNet-poker recognition: 扑克识别 (6)
  18. 关于JS中的内存溢出与内存泄漏
  19. 解决vue项目在IE浏览器打不开的问题
  20. 大数据可视化,助力行业大数据应用

热门文章

  1. vim ~/.vimrc
  2. Evaluate函数运行时错误438
  3. 《解剖PetShop》系列之一
  4. linux 服务器安全狗2.3版发布
  5. MrPeak大牛的 一键调试iOS Push
  6. kaldi群和kaldi新手群
  7. 独立的物联网卡管理平台有什么用?
  8. 如何快速批量导入非Oracle DB格式的数据--sqlloader
  9. 第10章 入侵检测技术原理与应用
  10. js 取出俩个数组中不同的元素(可用于elementUi多选功能,获取未选中的数据)