从DOM中移除集合中匹配元素的所有子节点。 示例:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
移除方法:
$('.hello').empty();
效果:
<div class="container">
<div class="hello"></div>
<div class="goodbye">Goodbye</div>
</div>
如果
里面包含任何数量的嵌套元素,他们也会被移走。 为了避免内存泄漏,jQuery先移除子元素的数据和事件处理函数,然后移除子元素
描述: 将匹配元素集合从DOM中删除。(同时移除元素上的事件及 jQuery 数据。) 和 .empty()相似。.remove() 将元素移出DOM。 当我们想将元素自身移除时我们用 .remove(),同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据 示例:
<div class="container">
<div class="hello">Hello</div>
<div class="goodbye">Goodbye</div>
</div>
移除方法:
$('.hello').remove();
或者用
$('div').remove('.hello');
效果:
<div class="container">
<div class="goodbye">Goodbye</div>
</div>
也就是说 class对应的自身的div也移除了
从DOM中去掉所有匹配的元素 detach() 方法和.remove()一样, 除了 .detach()保存所有jQuery数据和被移走的元素相关联。当需要移走一个元素,不久又将该元素插入DOM时,这种方法很有用。
html() 方法如果未设置参数,则返回被选元素的当前内容。html(“”) 则清空被选元素的当前内容。 empty() 方法从被选元素移除所有内容,包括所有文本和子节点。 两者最终实现的效果是一样的
html()返回值:String 也就是说是可以用变量接收的 empty()返回值:jQuery 不能用变量接收
empty()方法无参数,而且清空后的子集及文本无法进行还原。而detach()和remove()方法可以将其保存在一个变量中 如声明变量p 写成如下形式
var p=$('p').remove();
当需要从新添加时可以直接添加如下
p.appendTo("body");
这是detach()和remove()方法都有的功能。remove()较detach()不同的是remove()可以删除指定的类如remove(‘a’),而detach()不可这样操作,还要注意一点,当用remove()方法移除元素后,再进行添加,再子集的事件的不会存在,而detach()子集的事件还可执行。
参考文章: https://www.cnblogs.com/lisongy/p/4109420.html https://zhidao.baidu.com/question/208078391.html