jQuery之移除元素方法

2023-10-12 13:56:39 浏览数 (1)

jQuery之移除元素方法

一.empty()方法

从DOM中移除集合中匹配元素的所有子节点。 示例:

代码语言:javascript复制
<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

移除方法:

代码语言:javascript复制
$('.hello').empty();

效果:

代码语言:javascript复制
<div class="container">
   <div class="hello"></div>
   <div class="goodbye">Goodbye</div>
</div>

如果

里面包含任何数量的嵌套元素,他们也会被移走。 为了避免内存泄漏,jQuery先移除子元素的数据和事件处理函数,然后移除子元素

二.remove()方法:

描述: 将匹配元素集合从DOM中删除。(同时移除元素上的事件及 jQuery 数据。) 和 .empty()相似。.remove() 将元素移出DOM。 当我们想将元素自身移除时我们用 .remove(),同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据 示例:

代码语言:javascript复制
<div class="container">
  <div class="hello">Hello</div>
  <div class="goodbye">Goodbye</div>
</div>

移除方法:

代码语言:javascript复制
$('.hello').remove();
或者用
$('div').remove('.hello');

效果:

代码语言:javascript复制
<div class="container">
   <div class="goodbye">Goodbye</div>
</div>

也就是说 class对应的自身的div也移除了

三.detach()方法:

从DOM中去掉所有匹配的元素 detach() 方法和.remove()一样, 除了 .detach()保存所有jQuery数据和被移走的元素相关联。当需要移走一个元素,不久又将该元素插入DOM时,这种方法很有用。

四.html(“”)方法:

html() 方法如果未设置参数,则返回被选元素的当前内容。html(“”) 则清空被选元素的当前内容。 empty() 方法从被选元素移除所有内容,包括所有文本和子节点。 两者最终实现的效果是一样的

html()返回值:String 也就是说是可以用变量接收的 empty()返回值:jQuery 不能用变量接收

另外:

empty()方法无参数,而且清空后的子集及文本无法进行还原。而detach()和remove()方法可以将其保存在一个变量中 如声明变量p 写成如下形式

代码语言:javascript复制
var p=$('p').remove();

当需要从新添加时可以直接添加如下

代码语言:javascript复制
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

0 人点赞