位置: 编程技术 - 正文

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

  • 一般纳税人季报怎么申报
  • 民营医院增值税优惠政策有哪些
  • 天然气管道抢维修工作总结
  • 个人独资企业需要交什么税
  • 赠送商品如何做账
  • 增量留抵税额怎么做分录
  • 个人所得税如果两份工作怎么扣
  • 每个月结转损益都有什么科目
  • 预提车间租入固定资产租金800元
  • 经营范围预付卡是什么
  • 天猫国际的店铺是正品吗 感觉很便宜
  • 发票普票一个月能开多少
  • 高速路费电子发票怎么打印
  • 准予在以后年度结转扣除的项目
  • 制造企业发出材料成本的计价方法
  • 进项发票失控账务处理
  • 土地租金及青苗赔偿款怎么做账?
  • 出口退税转为免税
  • 冲回多提所得税
  • 小规模纳税人需要汇算清缴吗
  • 幼儿园开学费发票内容
  • 产权转移书据有哪些
  • 存款利息收入是免税还是不征税
  • 支票只能同城吗
  • 跨年的发票可以补开吗
  • 未认证的进项税账务处理
  • win10如何设置一键还原系统
  • linux使用docker
  • linux用途是什么
  • php参数过滤封装类
  • php解构
  • win11系统语言修改不了
  • 借条怎么写有法律效力范本长期有效
  • uview2.0封装http请求实战以及常见请求传参实录
  • 笔记本电池保养注意事项
  • 一列火车穿过一条隧道,已知火车长450米,隧道长750米
  • 交所得税的会计科目
  • 实收资本和注册资本不一致的会计处理
  • 增值税检查后的调账方法
  • 奥勒松又叫什么
  • 机动车组织机构代码查询
  • 最强大的人工智能武器
  • vue企业开发实战
  • 门店有营业执照仓库加工要办营业执照
  • html导航链接
  • 全国信息技术服务业
  • server2003dns配置
  • sqlserver FOR XML PATH 语句的应用
  • 高速公路费如何开票
  • 增量留底退税额计算
  • 广告牌制作计入什么科目
  • 外贸公司是不是什么都做的?
  • 购入投资性房地产支付的相关税费
  • 汇款退款
  • 酒店购买的餐具可以退吗
  • 公认会计原则是哪个国家的?
  • 房子装修费要交税吗
  • 缴纳注册资金印花税怎么做账
  • mysql “ Every derived table must have its own alias”出现错误解决办法
  • mscorsvw.exe是什么
  • ubuntu下source、sh、bash、./执行脚本的区别详细介绍
  • mac怎么设置图片为桌面
  • windows7怎么画画
  • WIN10安装介质不识别硬盘
  • win8引导文件
  • windows 8开机
  • 全网最全的小说阅读器
  • css中dl
  • 读长沙师范学院收费多少钱
  • 猫的游戏视频
  • node.js+captchapng+jsonwebtoken实现登录验证示例
  • android基础入门教程
  • android事件处理方式有几种
  • 游戏客服怎么跟客户聊天
  • 四川税务局发票下载
  • 重庆地方税务局12366
  • 浙江省电税务局电话
  • 麻将 空白
  • 根据消费税暂行条例的规定,纳税人自产自用
  • 房产税税源编号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设