jQuery的.detach()函数在JavaScript中的等效操作是什么?

13

我正在寻找一个 JavaScript 函数,它能够像 jQuery 的 detach() 一样从 DOM 中分离元素而不删除它。我发现了这个,但它不是官方支持的函数。JavaScript 是否有类似于 .detach() 的内置函数呢?


JavaScript有类似于.detach()的内置函数吗?答案是:没有。 - Randy Casburn
不要忘记jQuery是一个JavaScript库。你可以阅读jQuery的detach函数的源代码并尝试重新实现其行为。 - ncphillips
https://github.com/jquery/jquery/blob/662083ed7bfea6bad5f9cd4060dab77c1f32aacd/src/manipulation.js - Randy Casburn
仅仅为了更加(或许是极其痛苦和不必要的)精确,JavaScript本身并没有任何用于操作DOM的方法。是DOM提供了这些方法。更好的问题应该是是否有类似于jQuery的detach的标准DOM方法。 - kshetline
1个回答

22

像这样的东西?

function detach(node) {
  return node.parentElement.removeChild(node);
}

或者,你甚至可以只使用node.parentElement.removeChild(node)

简要说明。来自MDN

Node.removeChild()方法从DOM中删除子节点。返回被删除的节点。

被删除的子节点仍然存在于内存中,但不再是DOM的一部分。...您可以在代码中稍后重用已删除的节点....


2
那看起来非常有用。 - noob
2
这个保存事件和数据吗? - Toniq

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接