移除和追加 DOM 元素
Posted
技术标签:
【中文标题】移除和追加 DOM 元素【英文标题】:Remove and append DOM element 【发布时间】:2014-05-04 18:11:53 【问题描述】:我想在 DOM 中添加和删除元素。对于删除,我使用的是 JQuery remove() function 。在删除元素之前,我正在使用 clone() 方法处理该元素:
element = $("#list-view").clone();
$("#list-view").remove();
这是完美的工作。但在另一种情况下,我想再次将相同的元素附加到 DOM 中。所以我使用的是我之前克隆的元素:
document.getElementById("container").appendChild(element);
但是在添加元素时什么都没有发生。我错过了什么吗?
【问题讨论】:
您可以使用.detach()
api.jquery.com/detach 简化您的逻辑,请注意,使用.detach()
数据将被保留,例如绑定到元素或子元素的处理程序。这通常是首选/更合适的方法
【参考方案1】:
element
是一个 jquery 对象,不是 dom 元素,所以使用
element.appendTo('#container')
演示:Fiddle
在您的控制台中,您应该会收到错误 Uncaught NotFoundError: Failed to execute 'appendChild' on 'Node': The new child element is null.
演示:Fiddle
【讨论】:
其实我是在手机上使用的,所以看不到错误日志:(以上是关于移除和追加 DOM 元素的主要内容,如果未能解决你的问题,请参考以下文章
在追加到 JQuery 之前检查 DOM 元素是不是自动存在
使用文档碎片(DocumentFragments)追加DOM元素
[js高手之路] dom常用APIappendChild,insertBefore,removeChild,replaceChild,cloneNode详解与应用