现在要删除一个父节点下的所有子节点。

删除节点的操作其实类似于FIFO链表的删除操作,把第一个删除掉,第二个节点会补上作为第一个,第三个会补上作为第二个,如此下去,这样节点是索引会随着删除而改变。所以,如果是顺着删除,删除的顺序会是0,2,4等等,如果你不弄清楚,有时候会被搞的莫名奇妙,跳着删除,是吧,然后余下的就不会被删,而且如果子节点较多,这样操作会出错的,弄半天才恍然大悟原来是倒着删还是顺着删这种细微的差别。正确的做法是应该倒着删除。

第一种:
function removeChildren(pnode){
var childs=pnode.childNodes;
for(var i=childs.length-1;i>=0;i--){
pnode.removeChild(childs.item(i));
}
}  第二种:
function removeChildren(pnode){
var node=pnode.firstChild;
var tmpNode;
while(node!=pnode.lastChild){
tmpNode=node.nextSibling;
pnode.removeChild(node);
node=tmpNode;
}
//记得还要删除最后一个孩子
pnode.removeChild(pnode.lastChild);
}  后面那种方法的质量还不如第一种,所以一般选择第一种进行删除一个父节点下所有子节点的操作。  

删除父节点下的所有子节点相关推荐

  1. JS遍历树节点下的所有子节点

    JS遍历树节点下的所有子节点 es6: function lookForAllId(data = [], arr = []) {for (let item of data) {arr.push(ite ...

  2. js遍历树节点下的所有子节点_【数据结构与算法】(3)——树和二叉树

    树 树的基本概念 树是一种非线性的数据结构,样子如图所示: 树的主要特点是树中的数据是分层存储的,每个元素称为树的节点,最顶层有且只有一个元素,称为根节点,其余层可以有任意数量的节点.除了根节点,其余 ...

  3. js遍历树节点下的所有子节点_「Javascript数据结构」× 二叉搜索树

    目录 树的相关术语 二叉树和二叉搜索树 二叉树的遍历 二叉搜索树的搜索 二叉搜索树的移除 「 树的相关术语 」 一个树结构包含一些列存在父子关系的节点.每个节点都有一个父节点(除了顶部的第一个节点)以 ...

  4. 查找节点下的所有子节点(包括孙节点和隐藏节点)

    例一:   public class FindObject : MonoBehaviour {       public Transform[] grandFa;       // Use this ...

  5. jq点击所有子元素_jQuery删除/清空指定元素下的所有子节点的方法

    上几篇文章详细的介绍了,我们可以利有jQuery中的detach()方法和jQuery中的remove()方法删除指定的或是匹配的元素,也可以使用removeClass()方法以及removeAttr ...

  6. php移除所有子节点,jQuery删除/清空指定元素下的所有子节点的方法

    上几篇文章详细的介绍了,我们可以利有jQuery中的detach()方法和jQuery中的remove()方法删除指定的或是匹配的元素,也可以使用removeClass()方法以及removeAttr ...

  7. oracle获取所有子节点,oracle递归查询所有子节点

    Q4:Oracle通过递归查询父子兄弟节点方法示例 前言 说到Oracle中的递归查询语法,我觉得有一些数据库基础的童鞋应该都知道,做项目的时候应该也会用到,下面本文就来介绍下关于Oracle通过递归 ...

  8. unity——删除父物体下面的所有子物体

    1.直接使用for循环,遍历子物体,使用依次Destory直接销毁子物体: Destroy(parent.GetChild(i).gameObject); /// <summary>/// ...

  9. MySQL根据父节点id查询所有子节点

    方法一 <!--根据id查询子节点--><select id="sonId" parameterType="java.lang.String" ...

最新文章

  1. Linux下 memcached安装以及启动
  2. 如何在 Linux 上用 SQL 语句来查询 Apache 日志
  3. 总结Java访问权限
  4. Linux下安装、查看、删除软件包
  5. 完全使用linux工作 pdf下载,完全用Linux工作-计算机.pdf
  6. 与集群相关软件安装及其配置顺序
  7. 2.Linux环境下配置Solr4.10.3
  8. python中property函数_Python中的property()函数
  9. LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话(简单易懂)
  10. 自动驾驶 2-1 第 1 课补充阅读:传感器和计算硬件 -- 下
  11. 重置IE浏览器的设置
  12. Ectouch修改虚拟销售数量的方法
  13. 【Android】canScrollVertically和canScrollHorizontally
  14. java未来三年的工作计划,未来三年的工作计划
  15. 火到服务器瘫痪了,这款小游戏太火爆了,合成大西瓜
  16. attention方式的算法
  17. 微信公众号服务器瘫痪的现象,微信出现大范围故障瘫痪30分钟 现已恢复正常
  18. 数据结构:平衡二叉树(AVL树)、树的高度
  19. Leetcode 1345 跳跃游戏 IV
  20. Vue实现拖拽穿梭框功能四种方式

热门文章

  1. 环融科技携手梅花网,与你一起讨论快消品企业如何管理好营销费用
  2. linux中密码配置文件,linux中的帐号密码配置文件
  3. mysql debug 存储过程_mysql存储过程debug
  4. 剑指Offer----扩展:抛小球(京东)
  5. 语音转文字软件哪个好用?建议收藏这些软件
  6. uefi安装linux 知乎,安装Archlinux+UEFI启动
  7. 原画 机器人总动员_高级原画(场景)—FA0103005
  8. FPGA–多功能密码锁 主控Xilinx-XC6SLX16 包含Veirlog源码和原理图
  9. Ubuntu16.04使用命令安装显卡驱动及双显卡切换至独显
  10. snapdragon,Intel GPA等工具调试Android游戏包的坑