从父元素中删除子元素的最佳方法?

Ada*_*dek 3 javascript

我正在使用动态创建的 JavaScript 元素。所有元素都附加到同一个 div,但有时我需要清空 div 并添加新元素。

在之前的项目中,我使用了一种方法,将每个生成的元素添加ID到数组中,当我必须删除它们时,我运行以下算法:

for (var a = IDArray.length-1; a>=0; a--){
    var element = document.getElementById(IDArray[a]);
    element.parentNode.removeChild(element);
    IDArray.splice(a,1);
}
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我开始思考:我正在附加 - 并从 div 中删除,它有一个innerHTML值。所以我可以使用下面的行来清空 div:

document.getElementById("parentDiv").innerHTML = "";
Run Code Online (Sandbox Code Playgroud)

我尝试了一下,他们都实现了同样的目标,至少看起来是这样。

我的问题是:使用innerHTML 方法是否会导致网站可用性出现问题?或者它只是一种更短、更有效的方法来实现同样的目标?

Sid*_*idd 5

关于这一点有相当多的讨论。例如:在 JavaScript 中清空节点的最佳方法是什么

最快的方法,尤其是对于深度嵌套的元素,似乎是:

while(element.firstChild){
    element.removeChild(element.firstChild);
}
Run Code Online (Sandbox Code Playgroud)