js移除子元素

javascript 复制代码
removeAllChild(parentId) {
  const parentNode = document.getElementById(parentId);
  if (parentNode) {
    parentNode.innerHTML = '';
  }
}

使用innerHTML属性将其设为空字符串,可以一次性清除该元素的所有子节点内容。但是需要注意的是,innerHTML会触发重排和重绘,如果是大量DOM操作,性能消耗可能较大。如果只需要删除子节点而不需要保留原有DOM树结构或者触发事件,这种方法更为简洁高效。

如果需要保持原有的DOM树结构或者关心性能,原始的while循环是一个更好的选择。若要优化原始循环,可以尝试使用childNodes迭代器配合for循环:

javascript 复制代码
removeAllChild(parentId) {
  const parentNode = document.getElementById(parentId);
  if (parentNode) {
    for (let child; (child = parentNode.firstChild);) {
      parentNode.removeChild(child);
    }
  }
}
相关推荐
bug总结3 分钟前
uniapp vue3全局方法注册使用
前端·javascript·uni-app
写后端的胖头鱼11 分钟前
【高频面试题】Java 基础类型 + 包装类 + String 互相转换
java·开发语言
matlab代码34 分钟前
基于matlab自助水果超市水果识别收费系统(GUI界面)【源码67期】
开发语言·matlab
华无丽言36 分钟前
如何在宜搭中实现获取子表中的字段值赋值到父表中?
前端·javascript·低代码
hui-梦苑1 小时前
[PHP]轻量主题函数WordPress 集成 KaTeX 数学公式渲染
开发语言·php·wordpress·katex
大圣编蚕1 小时前
Java StringWriter 详解:从入门到实战
java·开发语言·python
IT_陈寒1 小时前
Vue的computed属性竟然坑了我一把
前端·人工智能·后端
码行山野赴时序归途1 小时前
C语言预处理指令:编译前的“幕后导演“
c语言·开发语言
威斯软科的老司机1 小时前
通俗讲解 CNN 图像识别、向量 Embedding、Softmax 概率计算这三块的简化原理
前端·人工智能·ui·数字孪生
golang学习记1 小时前
Go 1.27新特性: json/v2使用有趣指南
开发语言·golang·json