如何使用JS从div元素中删除所有子元素

时间:2018-05-10 09:29:14

标签: javascript

嘿伙计们我正在学习JS,事情是我做了一个简单的应用程序,显示输入数字的乘法表。问题是,当我再次输入一个数字时,它将打印在前一个乘法表下面,所以当我再次输入一个数字时,我想删除div标签的所有子元素

function print() {
    var box = document.getElementById("table");

    for(let i=1 ; i<=10 ; i++) {
        var t = document.getElementById("tabInput").value;
        var t_Element = document.createElement("p");
        var t_line = document.createTextNode(t + " x " + i + " = " + t*i);
        t_Element.appendChild(t_line);
        box.appendChild(t_Element);
    }
}

3 个答案:

答案 0 :(得分:1)

如果使用while (box.hasChildElements()) { box.removeChild(box.lastChild)) } 清除html,则仍将加载以前的html节点。目前,最好的方法是使用以下命令迭代并破坏每个节点

for (i in 100) {
df$CorrectFinal<- if (df$subject == "s002" && df$Deviant == 101 &&
 df$Correct == 222) (df$CorrectFinal == 1) else (df$CorrectFinal == 0)}

答案 1 :(得分:0)

如果您需要清除所有元素,则无需迭代它们。

您可以像innerHTML那样清除div:{/ p>

document.getElementById('yourdivid').innerHTML = '';

然后您可以继续创建新元素的其余代码

答案 2 :(得分:0)

如果您有很多元素并且需要一种非常快速的方法,则可以使用false deep选项克隆节点,然后将其替换。

let parentNode = document.querySelector("#parentNode"),
   replacedNode = document.querySelector("#replacedNode"),
   newNode = replacedNode.cloneNode(false);
parentNode.replaceChild(newNode, replacedNode)