位置: 编程技术 - 正文

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

  • 房地产增值税预缴规定
  • 向董事赠送礼品怎么写
  • 一般借款资本化加权平均数
  • 企业购入办公桌和办公椅的核算
  • 应收代位追偿款是什么意思
  • 非居民企业所得税
  • 增值税专用发票和普通发票的区别
  • 水电费大于发票怎么处理?
  • 施工单位项目部牌子
  • 已开专票在哪里查询
  • 公司发票限额按什么计算
  • 以前年度补交的税款进什么科目?
  • 增值税纳税申报表在哪里打印
  • 非房地产企业转让旧房土地增值税
  • 公司按揭购车
  • 员工报销现在用什么软件
  • 每股收益怎么计算净利润
  • 库存商品适用于什么账簿
  • 公司购买理财产品如何做账
  • 进口关税和进口增值税怎么算
  • 电器维修公司买什么保险
  • 质权的成立时间为
  • 4芯网线插线顺序图
  • 微博 照片水印
  • 利息如何做会计分录
  • 用银行存款支付明年的财产保险费
  • php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
  • 企业合并分立
  • 销售折扣属于什么项目
  • vue调用后端接口的方法
  • yii2中LinkPager增加总页数和总记录数的实例
  • 商业汇票的承兑银行必须具备下列条件
  • 小额贷款企业收利息吗
  • 增值税核算账务处理办法
  • 个人独资企业建筑类怎么注册
  • js鼠标键盘事件
  • 员工报销的话费要缴纳个税吗?
  • 税务端系统返回错误信息f50006
  • ps大型文件储存位置在哪
  • 罚款是否需要开证明
  • python处理数据教程
  • 未确认融资费用账务处理
  • 个人所得税法实施细则2023
  • javascript前端开发案例教程源码
  • 企业无形资产摊销的会计处理
  • 附加税申报核心内容
  • 工会筹备金有优惠政策吗
  • sql server 查看
  • 餐厅餐具如何使用
  • 进口环节缴纳关税计入什么科目
  • 筹建期的收入要交企业所得税吗
  • 出纳属于会计岗位职责吗
  • 已确认收入但尚未发出商品分录
  • 企业职工福利费使用范围和标准
  • 原材料转固定资产账务处理
  • 辞退福利什么时候确认
  • 支付银行贷款利息的会计处理
  • 资固定资产清理
  • 总公司和分公司如何分离
  • 其他债权投资有没有减值准备
  • 企业网银的电子对账未签约需要本人去吗
  • 各单位应当设置专职能源管理岗位
  • mysql8设置时区
  • mysql 高效分页
  • mysql配置文件优化详解
  • Ubuntu系统怎么设置双屏
  • Mac如何使用clash上外网
  • linux ioctrl
  • 联想安装xp系统
  • pgptray.exe - pgptray是什么进程 有什么用
  • win8修改锁屏壁纸
  • 查找最近文件操作记录
  • cmd怎么复制上一条命令快捷键
  • 深入解读2023年一号文件
  • vue实现淘宝布局
  • nodejs image
  • 谈一谈你对人与自然关系的认识
  • javascript教程
  • python语言及应用
  • 如何在国税电子税务平台为员工办理定制社保卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设