位置: 编程技术 - 正文

详解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详解

  • 所得税汇算清缴表在哪里打印
  • 筹建期间的会计分录
  • 当月购入固定资产计提折旧吗
  • 物流公司车子
  • 注册资本印花税按年申报还是按次申报
  • 发票抬头类型怎么选 个人不能报销吗
  • 个人所得税本期免税收入是指什么
  • 外商投资企业采购国产设备退税后续监管办法
  • 折旧已经计提完的固定资产如何盘点
  • 个人借款利息是多少才合法
  • 房地产限购过程是什么
  • 出纳在银行领了钱出纳要怎样记帐?
  • 固定资产后续支出的确认和处理
  • 别人提供原材料加工后加工费
  • 开办费转入管理费用分录
  • 高薪员工如何降职
  • 简易计税方法适用范围
  • 案例分析个人心得体会
  • 付款申请需要附什么依据
  • 发票开了款没付
  • 跨期费用审计调整分录
  • 净资产属于政府预算会计要素吗
  • 进项税转出如何申报纳税
  • 专项应付款怎么转固定资产
  • 车间购买办公用品
  • 民办学校的财务制度
  • php数组函数 菜鸟
  • 转销坏账准备会影响账面余额吗
  • kcleaner.exe是什么
  • mmc.exe是什么
  • php使用crypt()函数进行加密
  • 可视化大屏的几种模式
  • 请假扣款会计分录
  • 手把手教你用Excel制作考勤表
  • 安卓京东抢购
  • user-interface console 0 指令无效
  • php fopen()
  • php7.2新特性
  • 在税务局怎么查补缴的社保
  • 计入固定资产成本的税费有哪些
  • mysqldump导入数据库
  • 房地产拆迁补偿协议
  • 技术转让和技术开发区别
  • 请问在accessdemo1
  • 员工出差加油费如何报销
  • 购买的金税盘可以抵扣吗
  • 增值税进项税额抵扣期限最新
  • 弥补以前年度亏损后缴纳所得税
  • 现金往来款怎么做账
  • 事业单位可以购买工作服吗
  • 限定性净资产的例子有哪些
  • 退回多交的所得税怎么退
  • 委托方和受委托方的法律关系
  • 企业名称变更后税务变更需要什么资料
  • 会计做账做错了
  • 购车怎么做会计分录
  • 公司刚成立如何做账
  • 借款利息怎么记账
  • mssql CASE,GROUP BY用法
  • 通过备份记录获取文件
  • mysql 5.7.11 winx64.zip安装配置方法图文教程
  • win7系统中如何禁用和启用网络
  • win10能玩dota
  • mac版cad2022使用教程
  • windows xp iis安装
  • mac如何搜索应用
  • windows显示内部版本
  • quick cocos UIListView之isItemInViewRect方法修正
  • alt用不了
  • Android与OpenCV2.4.4(2013最新)搭建图像处理框架
  • node+express+ejs制作简单页面上手指南
  • 在文本输入框中的输入内容是
  • JavaScript中的NaN代表什么
  • jquery获取document对象
  • bootstrap 可编辑下拉检索
  • linux下socket编程常用头文件(推荐)
  • 数字动画文件格式有哪些
  • js对象的常用方法
  • 发票事业单位有税号吗
  • 环保税申报操作手册
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设