嘿伙计们我正在学习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);
}
}
答案 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)