Failed to execute 'removeChild' on 'Node': The node to be removed is not a child...
🚨 错误信息
NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
🤖 AI解决方案
NotFoundError: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.
// 错误翻译:NotFoundError: 尝试在 'Node' 上执行 'removeChild' 方法失败:要移除的节点不是该节点的子节点。
原因分析
尝试从父节点中移除一个不存在的子节点。
解决方案
在调用 removeChild 之前,先检查目标节点是否是父节点的子节点:
const parentNode = document.getElementById('parentNode');
const childNodeToRemove = document.getElementById('childNode');
if (parentNode && childNodeToRemove && parentNode.contains(childNodeToRemove)) {
parentNode.removeChild(childNodeToRemove);
} else {
console.warn("尝试移除的节点不存在或不是父节点的子节点。");
}
预防措施
- 确保在操作 DOM 之前,已经正确获取到父节点和需要移除的子节点。
- 在执行 DOM 移除操作时,增加健壮性检查,防止误操作。