位置: 编程技术 - 正文

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

  • 非税收入票据可以手写吗
  • 已经认证抵扣的发票还能作废吗
  • 增值税技术维护费每年都可以抵减吗?
  • 往来票据如何开具
  • 没有销售是什么意思
  • 工程施工的借方和贷方
  • 房屋出租的成本怎么算
  • 企业亏损法定盈亏是什么
  • 出售无形资产的净损失
  • 以股权入股要交税吗?
  • 免税的苗木发票抵扣税费怎么算
  • 资产负债表货币资金与现金流量表的关系
  • 期初未交增值税借方余额
  • 非金融机构借款计入什么科目
  • 逆流交易固定资产折旧实现,为什么按差额
  • 服务协议属于哪类合同
  • 补缴企业所得税汇算清缴会计分录怎么做
  • 医院行业类别怎样填写
  • 事业单位固定资产管理办法
  • 蓝屏代码0xc000000f
  • 印花税的征收范围
  • 上半年的业务总结几句话
  • mac菜单键怎么设置出来的
  • win10记事本在哪找
  • 手机苹果14
  • 即期结售汇期限包括
  • 特殊性税务处理的条件
  • 总公司给分公司调货
  • 上飞机可以带2个充电宝吗
  • yii2中dropDownList实现二级和三级联动写法
  • 淘宝前端用什么写的
  • codeignitor
  • 发票复核和收款人未填写
  • vue怎么打断点
  • ipcrm命令
  • 产成品核算的内容
  • 哈希表散列函数
  • 500元以下开收据要交税吗
  • 所得税汇算清缴报告在哪查
  • 支付股息如何做账
  • 固定资产折旧的账务处理
  • 房产税的纳税义务人
  • 企业会计准则在建工程转固定资产
  • 建筑劳务公司一年赚多少钱
  • 增值税专票什么用处
  • 结账的内容和程序是什么
  • 折旧方法计算公式
  • 一次性加速折旧额怎么算
  • 商贸公司经营范围可以写烟酒吗
  • 预收款开票后如何做账
  • 中小型企业应收账款风险管理
  • 跨年的社保,账务怎么处理?
  • 研发费用加计扣除2022政策
  • 填写增值税纳税申报怎么填写?
  • 总分类账户和明细分类账户平行登记的要点包括
  • 国际贸易单证有什么制单要求
  • sql搜索字段名
  • mysql获取今天数据
  • Mysql 5.7.17 winx64免安装版,win10环境下安装配置图文教程
  • mysql 5.7.33安装
  • xp系统弹出广告怎么处理
  • centos的命令行界面输入
  • whSurvey.exe - whSurvey进程是什么意思
  • 苹果mac操作系统名称
  • regsync.exe - regsync是什么进程 有什么用
  • mac怎么快速上手
  • centos的防火墙怎么关
  • android 一个activity多个layout
  • linux的关闭命令
  • perl命令行参数内建数组
  • android内核剖析代码
  • virtualbox no bootable medium
  • 安卓api中文手册
  • list在python中的作用
  • 传智播客javappt
  • python做开发
  • 基于JAVASCRIPT实现的可视化工具是
  • jquery获取复选框是否被选中
  • 城市垃圾处理费会计分录
  • 税务师 领证
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设