位置: 编程技术 - 正文

详解jQuery中的empty、remove和detach

编辑:rootadmin

推荐整理分享详解jQuery中的empty、remove和detach,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

通过一张对比表来解释几个方法之间的不同

三者都有把元素移除的作用,但细微的差别,造就了它们的使命不同。

最权威的解释当然是jQuery_API咯,下面是API中关于他三儿的部分截取。

一、empty:

This method removes not only child (and other descendant) elements, but also any text within the set of matched elements. This is because, according to the DOM specification, any string of text within an element is considered a child node of that element.To avoid memory leaks, jQuery removes other constructs such as data and event handlers from the child elements before removing the elements themselves. If you want to remove elements without destroying their data or event handlers (so they can be re-added later), use .detach() instead.

注意:加粗的部分,通过empty移除后代元素,会移除其事件的。

为什么呢&#;

防止内存泄露!!!

二、remove:

Similar to .empty(), the .remove() method takes elements out of the DOM. Use .remove() when you want to remove the element itself, as well as everything inside it. In addition to the elements themselves, all bound events and jQuery data associated with the elements are removed. To remove the elements without removing data and events, use .detach() instead.

remove和empty方法一样,都会移除元素的事件句柄,从而避免内存泄露。

区别:remove包含了移除事件本身,而empty是后代元素。

详解jQuery中的empty、remove和detach

三、detach:

从empty和remove的介绍中(英文斜体部分),可以或多或少得知,detach是不会移除事件句柄的。

那么我们再来看看详细的API讲解:

The .detach() method is the same as .remove(), except that .detach() keeps all jQuery data associated with the removed elements. This method is useful when removed elements are to be reinserted into the DOM at a later time.

咦,什么意思?

看了detach的注解,不知道大家有没有眼前一亮,detach不能用来删除废弃的元素。

为什么呢?

因为它保留了事件驱动嘛,这样不就会造成内存泄露么。

所以要删除以后不再利用的元素时,使用empty或者remove。

那要detach有何用?

用处大了。

当我们要对一个元素进行大规模的增删改的时候,我们可以用detach将这个元素提取出来,然后在这个元素上进行操作,而不是在整个dom文档中进行操作。

好处就是:减少对整个dom文档的修改,从而减少页面重绘;而且对整个dom文档进行操作,在ie下还可能会造成内存泄露哦。所以稳妥起见,还是利用detach这一神器吧。

下面是一个demo,首先对#container元素绑定click事件(事件委托),然后利用detach将其脱离文档,然后再创建两个child元素,追加到#container元素中,最后将#container重新添加到body后。

以上所述是小编给大家介绍的jQuery中的empty、remove和detach的区别,希望对大家有所帮助!

对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解 虽然jquery的较新的api已经很好用了,但是在实际工作还是有做二次封装的必要,好处有:1,二次封装后的API更加简洁,更符合个人的使用习惯;2,可以

jquery中实现时间戳与日期相互转换 直接看代码:提醒:不要忘记了引用jquery的类库(function($){$.extend({myTime:{/***当前时间戳*@returnintunix时间戳(秒)*/CurTime:function(){returnDate.parse(newDate())/;},/*

DIV随滚动条滚动而滚动的实现代码【推荐】 记得以前写这样的代码比较麻烦,现在有了JQuery简单多了,就几行代码搞定!scripttype="text/javascript"src="Js/jquery-1.7.2.min.js"/scriptscripttype="text/javascript"$(funct

标签: 详解jQuery中的empty、remove和detach

本文链接地址:https://www.jiuchutong.com/biancheng/384919.html 转载请保留说明!

上一篇:JQuery导航菜单选择特效(jquery 菜单)

下一篇:对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解

  • 什么情况增值税计入成本
  • 增值税应纳税额的计算
  • 向保险公司缴纳的保险费可以税前扣除吗
  • 土地转让合同也叫什么
  • 转让旧房增值税计税依据
  • 平销返利如何开红字发票
  • 应交增值税转入其他流动资产
  • 营改增广告标牌制作的税务怎么处理
  • 社保公积金会计分录怎么写
  • 小型微利企业所得税优惠政策2023
  • 对公账户验证款怎么记账
  • 土地作价入股政策
  • 收到社保补贴计入什么科目
  • 子公司是否可以共享总公司的资质
  • 电子发票可以开专票吗
  • 个人收回转让的股权个税应如何处理?
  • 差额纳税的会计处理
  • 企业社保缴费工资
  • 升级声卡驱动后声音禁用了怎么恢复
  • 穿越火线封号查询官网
  • 个税申报晚了会退税费吗
  • windows11怎么查看显卡
  • 工会经费申报的依据
  • 苹果14发布会时间
  • 竣工结算的依据有哪些?
  • 存货短缺的账务处理
  • 网线超五类好还是六类好
  • axios异步请求数据
  • 如何使用nodejs
  • php制作简单的表单代码
  • php短网址生成算法
  • 资产负债表各项目年初余额栏内各项数字
  • sklearn average precision
  • 面试宝典下载
  • 圣诞节英文祝福语50字
  • 出口退税率和进项税额
  • 广告费应该计入产品成本吗
  • 增值税发票打印机
  • 工程发票需要备注吗
  • 跨年的发票可以退税吗
  • 帝国cms什么语言
  • 代开运输发票是否会引起双重征税?
  • 个人所得税申报截止时间
  • 对于企业处理废水的建议
  • 退货开红字发票,已经交了消费税的怎么处理
  • 劳务发票去哪里开
  • 公司清算的特征
  • 人工智能自动对焦又叫什么
  • 已计提完的固定资产怎么做账
  • 企业所得税征收方式有哪些?
  • 物业管理费发票备注栏要求
  • 损益类科目全部科目
  • 工资与社保的关系图
  • 去年企业所得税多计提怎么调整
  • 奖金做预发年底会发吗
  • 购入厂部用小汽车一部是管理费用吗
  • 增值税期末留抵税额是什么意思
  • 被法院扣的钱怎么又退回来了
  • 小规模纳税人附加税减半征收
  • 专票错误已认证需要退回吗?
  • 旅游费用如何记账科目
  • 阿里云linux 服务器 字符集
  • xp系统提升cpu最高性能
  • vista windows
  • centos还原
  • 让windows server 2003 32位支持8G内存大内存
  • win7装vmware
  • win8系统怎么设置密码
  • win7自带防火墙关闭后自己打开啥原因
  • win10系统关机后又自动启动怎么办
  • win1020h2版好不好
  • win 7电脑音箱没有声音
  • windows8介绍
  • android通知消息
  • 用python抓取数据
  • jquery fadein不起作用
  • 沈阳市房产契税查询
  • 江苏发票真伪查询系统官网
  • 房子契税发票没给怎么办
  • 车船税新标准计算办法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设