推荐答案
function unmount(container) {
if (container && container.parentNode) {
container.parentNode.removeChild(container);
}
}本题详细解读
题目分析
题目要求实现一个函数 unmount(container),该函数的作用是将指定的 DOM 节点从 DOM 树中移除。这个函数通常用于前端框架或库中,用于卸载组件或清理 DOM 节点。
实现思路
- 参数检查:首先需要检查传入的
container是否存在,并且它是否有一个父节点。如果container不存在或者没有父节点,那么直接返回,不需要进行任何操作。 - 移除节点:如果
container存在且有父节点,那么调用parentNode.removeChild(container)方法将其从 DOM 树中移除。
代码解释
container && container.parentNode:确保container存在并且有父节点。container.parentNode.removeChild(container):将container从其父节点中移除。
注意事项
- 如果
container是null或undefined,函数不会执行任何操作。 - 如果
container已经被移除或者没有父节点,函数也不会执行任何操作。
使用示例
const container = document.getElementById('app');
unmount(container); // 将 id 为 'app' 的 DOM 节点从页面中移除这个函数简单且高效,适用于大多数需要卸载 DOM 节点的场景。