【EASYDOM系列教程】之删除节点

Node 对象供应了 removeChild() 要领完成从 HTML 页面中删除指定节点。其语法结构以下:

var oldChild = node.removeChild(child);
OR
element.removeChild(child);

在上述语法结构中,挪用 removeChild() 要领的 node 示意 child 参数的父节点,而 child 参数则示意要删除的谁人节点。

oldChild 则用于存储要删除的节点的援用,即 oldChild === child。固然,假如我们须要完成的仅仅只是删除节点操纵的话,并不须要定义变量来存储被删除的节点。

值得注意的是: 在上述语法结构中,假如 child 参数不是 node 的子节点的话,挪用该要领时会报错。

我们能够经由过程以下代码示例,测试 removeChild() 要领的详细运用:

// 猎取父节点
var parent = document.getElementById('parent');
// 猎取子节点
var child = document.getElementById('btn');
// 删除节点
parent.removeChild(child);

值得注意的是: 被删除的节点是不是从内存中被烧毁,Mozilla 社区有如许一段形貌:

被移除的这个子节点依然存在于内存中,只是没有增加到当前文档的 DOM 树中。

因而,你还能够把这个节点从新增加回文档中。固然,完成要用别的一个变量比方上述语法中的 oldChild 来保留这个节点的援用。

假如运用上述语法中的第二种要领,即没有运用 oldChild 来保留对这个节点的援用,则以为被移除的节点已经是无用的,在短时间内将会被内存治理接纳。

依据 Mozilla 社区对 removeChild() 要领的形貌,我们能够举行以下代码示例的尝试:

// 猎取父节点
var parent = document.getElementById('parent');
// 猎取子节点
var child = document.getElementById('btn');
// 删除节点,并将删除的节点存储在 oldChild 变量中
var oldChild = parent.removeChild(child);
// 将删除的节点再增加到父节点的子节点列表中
parent.appendChild(oldChild);

本教程免费开源,任何人都能够免费进修、分享,以至能够举行修正。但须要说明作者及泉源,而且不能用于贸易。

本教程采纳学问同享签名-非贸易性运用-制止归纳 4.0 国际允许协定举行允许。

    原文作者:二月红
    原文地址: https://segmentfault.com/a/1190000010407286
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞