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);
    }
  }
}
相关推荐
is今夕9 分钟前
postcss.config.js 动态配置基准值
javascript·vue.js·postcss
水瓶丫头站住9 分钟前
Qt中QRadioButton的样式设置
开发语言·qt
青茶绿梅*211 分钟前
500字理透react的hook闭包问题
javascript·react.js·ecmascript
计算机软件程序设计16 分钟前
vue和微信小程序处理markdown格式数据
前端·vue.js·微信小程序
指尖时光.18 分钟前
【前端进阶】01 重识HTML,掌握页面基本结构和加载过程
前端·html
前端御书房21 分钟前
Pinia 3.0 正式发布:全面拥抱 Vue 3 生态,升级指南与实战教程
前端·javascript·vue.js
NoneCoder36 分钟前
JavaScript系列(84)--前端工程化概述
前端·javascript·状态模式
晚安72043 分钟前
idea添加web工程
java·前端·intellij-idea