我正在动态生成一个表,之后我想将它作为子项附加到div。问题是每次重新生成表时,它都会附加在同一个div中,而不会删除旧表。
if(context.children.length == 0){
context.appendChild(table);
}else{
context.replaceChild(table);
}
我尝试检查孩子是否已经存在,如果是,我用新元素替换它。
但我收到错误The argument is not optional
,我不知道如何做到这一点。有什么想法吗?
答案 0 :(得分:1)
您需要在Node#replaceChild
方法中将第二个参数作为要替换的子项提供。
if(context.children.length == 0){
context.appendChild(table);
}else{
context.replaceChild(table, context.children[0]);
}
答案 1 :(得分:1)
那不是replaceChild()的工作方式,你应该,paremtElement.replaceChild(new element, element to be replaced)
https://developer.mozilla.org/en-US/docs/Web/API/Node/replaceChild