Javascript如果appendChild和replaceChild之间没有工作

时间:2016-11-11 08:58:33

标签: javascript

我正在动态生成一个表,之后我想将它作为子项附加到div。问题是每次重新生成表时,它都会附加在同一个div中,而不会删除旧表。

if(context.children.length == 0){
    context.appendChild(table);
}else{
    context.replaceChild(table);
}

我尝试检查孩子是否已经存在,如果是,我用新元素替换它。 但我收到错误The argument is not optional,我不知道如何做到这一点。有什么想法吗?

2 个答案:

答案 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