位置: 编程技术 - 正文

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

  • 如何进行增值税发票认证
  • 缴纳房产税怎么记账
  • 小规模纳税人为什么没有进项
  • 企业收到退回的所得税的账务处理
  • 进口环节缴纳关税计入
  • 吸收合并和新设合并
  • 居民企业股权转让所得
  • 一般纳税人财务报表月报还是季报
  • 本月进项大于销项怎么做会计分录
  • 记账凭证一定要签字吗
  • 个税手续费退还时间
  • 环境保护税法什么时候出台
  • 劳务分包发票税率是多少2020
  • 自产产品公益性捐赠可以免征增值税吗
  • 同一控制下合并日后合并报表的编制
  • 基金公司管理费收入增值税
  • 公司没有残疾人要交残疾人保障金吗
  • 收购企业收购方和被收购方如何做账?
  • 企业资产转移是什么意思
  • 如何不同版本复制粘贴
  • 总分公司分税
  • 发放股票股利会增加流通在外股票的数量
  • 收到汇算清缴的现金
  • win7纯净版怎么联网
  • 拍卖获得收入个税
  • uniapp 嵌套webview
  • 非居民所得税代扣代缴
  • thinkphp钩子场景
  • u盘数据全部丢失
  • 什么样的发票可以报销
  • 总包缴税
  • 级联选择器 数据回显
  • antd form table
  • 深度学习分析NASA电池数据(1 数据读取)
  • 基于python的论文项目有哪些
  • 怎么做应收应付账款分录
  • 融资租赁租金计算公式有残值
  • 增值税进项税加计抵减
  • 月末制造费用可以有余额吗
  • pythongui库
  • 税收分类口诀
  • 进口海关是国内还是国外
  • 预收账款转主营业务收入怎么描述
  • 商业承兑汇票托收什么意思
  • 收到项目资本金怎么入账
  • 车辆罚款单可作为费用报销吗
  • 工会经费支出审批表
  • 联营扣点业务会亏钱吗
  • 汇算清缴调增的工资怎么做账
  • 邮寄发票的快递费走什么科目
  • 小规模一季度不超过30万是不含税吗
  • 经营活动产生的现金净流量怎么算
  • 收到了对方的作业怎么办
  • sql语句错误提示
  • mysql8.0 主从
  • 苹果电脑mac系统怎么用
  • centos mtr
  • win10系统玩dnf闪退
  • onekey driver version是什么软件
  • 进程crash是什么意思
  • WIN10系统中软件打开找不到网络共享盘
  • win8打游戏卡吗
  • perl 哈希用法
  • cocos2dx-js
  • javascript几种数据类型
  • include eigen
  • asp.net runat
  • rgb与yuv哪个好
  • python利用while循环求1+2+3......+n的和
  • Android: netd中DnsProxyListener的简单介绍
  • unity编辑工具软件介绍
  • 骞怎么读什么意思是什么
  • ubuntu下安装win10
  • Android 4.4 Dialog 被状态栏遮挡的解决方法
  • javascript命名规范
  • jquery确认取消对话框
  • 国家税务局湖南省电子税务局app下载
  • 重庆国税电子税务局手机版
  • 北医三院预约号最晚几点取
  • 西安市个税证明去哪里打印
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设