JS-DOM(二)_操作节点
来源:互联网 发布:淘宝卖家开通直播入口 编辑:程序博客网 时间:2024/06/07 00:34
操作dom是我们经常要用的,下面我一一介绍如何操作节点
一、添加子节点
appendChild()添加子节点到最后,例子如下:
<div> 这是根 <p class="first">老大</p> <p>老二</p> <p>老三</p> </div><script type="text/javascript"> var oDiv=document.querySelector('div'); var addNodes=document.createElement("p"); addNodes.innerText="老小" oDiv.appendChild(addNodes);//添加到最后</script>
如果需要把节点放在指定位置而不是结尾,可以使用insertBefore(),这个方法接收两个参数要插入的节点和作为参考的节点。在插入节点后,被插入的节点会变成参照节点的前一个同胞节点(previousSibling),同时被方法返回。如果参考节点是null,则insertBefore()和appendChild()一样。例子如下:
<script>var oDiv=document.querySelector('div'); var addNodes=document.createElement("p"); addNodes.innerText="老小" oDiv.appendChild(addNodes);//添加到最后 var old=document.querySelector('.first'); oDiv.insertBefore(addNodes, old)//添加到老大之前 // oDiv.insertBefore(addNodes,null);//参考节点为空则添加到最后</script>
二、替换节点
前面介绍的appendChild()和insertBefore()方法都只插入节点,而不会移除节点。
//replaceChild()方法接收的两个参数是:要插入的节点和替换的节点。要替换的节点将由这个方法返回并从文档树中移除,同时由插入的节点占据其位置。例子如下:
<div> 这是根 <p class="first">老大</p> <p>老二</p> <p>老三</p> </div> <script type="text/javascript"> var oDiv=document.querySelector('div'); var addNodes=document.createElement("p"); addNodes.innerText="老小" oDiv.appendChild(addNodes);//添加到最后 var old=document.querySelector('.first'); //oDiv.insertBefore(addNodes, old)//添加到老大之前 oDiv.insertBefore(addNodes,null);//参考节点为空则添加到最后 var newAddNodes=document.createElement("p"); newAddNodes.innerText="xin 老小"; oDiv.replaceChild(newAddNodes, addNodes);//替换掉原来的 oDiv.replaceChild(newAddNodes, old);//替换class为first的</script>
三、移除节点
如果只想移除节点,则可使用removeChild();
<div> 这是根 <p class="first">老大</p> <p>老二</p> <p>老三</p> </div> <script type="text/javascript"> //移除节点 var oDiv=document.querySelector('div'); var addNodes=document.createElement("p"); addNodes.innerText="老小" var old=document.querySelector('.first'); oDiv.insertBefore(addNodes,null); oDiv.removeChild(old);//移除老大 </script>
四、复制节点
复制节点cloneChild() 该方法只接收一个布尔参数,如果为true则表示深度复制,及不光复制节点本身连其子节点也一并复制,如果为false则只复制节点本身,例子如下
<div> 这是根 <p class="first">老大</p> <p>老二</p> <p>老三</p> </div> <script type="text/javascript"> var oDiv=document.querySelector('div'); var clone=oDiv.cloneNode(false);//只复制节点本身 var oBody=document.querySelector('body'); oBody.appendChild(clone);//把其添加到body后面,只会复制<div></div>不会复制其内容 </script>
<div> 这是根 <p class="first">老大</p> <p>老二</p> <p>老三</p> </div><script type="text/javascript"> var oDiv=document.querySelector('div'); var clone=oDiv.cloneNode(true);//深度复制 var oBody=document.querySelector('body'); oBody.appendChild(clone);//把其添加到body后面 </script>
阅读全文
1 0
- JS-DOM(二)_操作节点
- JS——DOM小结(二)操作节点
- JS的DOM(二)节点操作
- js操作dom节点
- js操作DOM节点
- js操作dom节点
- JS操作DOM节点
- js操作dom节点
- JavaScript DOM总结(二、节点操作)
- js的DOM(节点操作)
- DOM(二)DOM节点关系与操作
- DOM编程-节点操作(二)
- js获取节点 dom操作
- js获取节点 dom操作
- js获取节点 dom操作
- js获取节点 dom操作
- js Dom节点操作API
- js获取节点 dom操作
- Java基础知识之容器(一)
- ArcGIS空间分析工具
- Exception in thread "main" java.io.FileNotFoundException: E:\java\.metadata (拒绝访问。)的理解
- 1050. 螺旋矩阵(25)
- HDU 6121 树的节点计数
- JS-DOM(二)_操作节点
- 解决tomcat 8080端口被占用问题
- unity调用ios的参数传入与返回
- bzoj 1733: [Usaco2005 feb]Secret Milking Machine 神秘的挤奶机 二分+最大流
- 点击查看大图(长按保存图片)
- 【NOI2016】优秀的拆分
- 解决activity、service间使用sharePreference进行值存取不同步
- HDU 6129 Just do it
- [RK3288][Android7.1.2] Launcher3 源码阅读之step2:详解Launcher的OnCreate方法的A部分