首页 > 解决方案 > 如何删除元素的所有子节点

问题描述

我刚刚开始使用 javascript,我正在尝试构建一个待办事项应用程序。我的问题是我有一个清除所有按钮,单击该按钮会从列表中删除所有任务。为了让它工作,我写了这个函数(见下文)。

function clearAll(e){
e.preventDefault()

let allItems = todoList.childNodes
allItems.forEach(function(item){
   todoList.removeChild(item)
})
      
  }
这里

待办事项列表

是一个 ul 元素,divs(tasks) 动态附加到该元素。结果是,当我单击按钮时,我会删除备用项目。我该如何解决?

标签: javascripthtml

解决方案


以下removeAllChildNodes()函数删除一个节点的所有子节点:

function removeAllChildNodes(parent) {
    while (parent.firstChild) {
        parent.removeChild(parent.firstChild);
    }
}
const container = document.querySelector('#container');
removeAllChildNodes(container)

推荐阅读