移除和追加 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 元素是不是自动存在

JQuery实现样式设置追加移除与切换的方法

使用文档碎片(DocumentFragments)追加DOM元素

Jquery元素追加和删除

Jquery元素追加和删除

[js高手之路] dom常用APIappendChild,insertBefore,removeChild,replaceChild,cloneNode详解与应用