推荐答案
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 节点的场景。