章节
问答
课签
笔记
评论
占位
占位

DOM节点删除之remove()的有参用法和无参用法

remove与empty一样,都是移除元素的方法,但是remove会将元素自身移除,同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据。

例如一段节点,绑定点击事件

<div class="hello"><p>慕课网</p></div>
$('.hello').on("click",fn)

如果不通过remove方法删除这个节点其实也很简单,但是同时需要把事件给销毁掉,这里是为了防止"内存泄漏",所以前端开发者一定要注意,绑了多少事件,不用的时候一定要记得销毁

通过remove方法移除div及其内部所有元素,remove内部会自动操作事件销毁方法,所以使用使用起来非常简单

//通过remove处理
$('.hello').remove()
//结果:<div class="hello"><p>慕课网</p></div> 全部被移除
//节点不存在了,同事事件也会被销毁

remove表达式参数:

remove比empty好用的地方就是可以传递一个选择器表达式用来过滤将被移除的匹配元素集合,可以选择性的删除指定的节点

我们可以通过$()选择一组相同的元素,然后通过remove()传递筛选的规则,从而这样处理

对比右边的代码区域,我们可以通过类似于这样处理

$("p").filter(":contains('3')").remove()

任务

?不会了怎么办
||
1
2
<!DOCTYPE html>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 岐柘棹
不对,detach方法才会在内存中保留,remove方法会将内存的也销毁

最赞回答 / 慕粉3118661
直接在第一个选择器里进行选择吧,例如 $('.test2 p:nth-child(1)').remove();remove中的选择器有点迷,等高手分析愿意

最赞回答 / 小季乐乐4412490
如果是后台读到的数据的话,删除操作会触发后台接口给的事件,举个例子,比如每一项又一个ID,并且每一项后面有一个删除按钮,点击删除后会向后台发送请求,带的参数就是这个ID,那么删除后刷新页面这一项就被清除掉

最赞回答 / liuleilei
on()方法是官方推荐的绑定事件的一个方法。click就是一个点击事件

最新回答 / web_雪花
p标签有默认的margin

已采纳回答 / kingall
3表示的是p元素中的元素'3'

最新回答 / 慕村0406921
应该是遍历需要显示的图片,显示图片前进行的处理

已采纳回答 / 慕仰0109416
简单说 内存中的某一块正在被其他程序使用 这时如果再有其他程序试图使用这块内存 就会发生内存泄露

最赞回答 / 用户1081974
filter() 方法将匹配元素集合缩减为匹配指定选择器的元素。这里就是先找出全部p标签后再找出文本中包含3的移除掉;

最新回答 / ONLYWEI
应该是都需要考虑内存泄漏的问题

最新回答 / Yasin92x
把导入的jquery库换成这个  http://libs.baidu.com/jquery/1.9.1/jquery.js

已采纳回答 / 慕粉4014697
.filter()是一个遍历方法,会用匹配元素的子集构造一个新的 jQuery 对象。所使用的选择器会测试每个元素;所有匹配该选择器的元素都会包含在结果中。而“:contains(‘3’)”是内容筛选选择器

已采纳回答 / taylorfeng
销毁事件第一种,对于$('.hello').on("click",fn),销毁事件则是$('.hello').off("click"),off是on的反义词,很好理解;还有第二种方法,$('.hello').unbind(),这个方法的好处是如果$('.hello')绑定了不止一个事件,可以一次性全部解除事件绑定~至于第二个问题,就是字面上的意思啊,remove删除节点并且可以自动消除节点的事件,所以比其他的好用。
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言