位置: 编程技术 - 正文

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

  • 从租计征房产税怎么申报
  • 物业公司一般纳税人增值税税率
  • 收到工程服务费会计分录
  • 房地产开发企业土地增值税清算
  • 境外人员为境内企业提供劳务如何缴税
  • 关联交易所得税规定
  • 收入转本年利润的会计分录
  • 交了定金签了合同
  • 提取法定盈余公积比例
  • 发票打印机分专票和普票的吗?
  • 简易征收电费能不能抵扣
  • 淘宝开企业店铺需要什么资料
  • 销售给个人的货款要走公户吗
  • 旅游业是一个怎样的产业
  • 航道疏浚服务属于什么服务
  • 在会计实务中财务报表附注的披露方法不包括
  • 税务局收到企业发票
  • 递延所得税怎么产生
  • 1697508560
  • 1697508581
  • 退税技术有什么影响
  • 需要缴纳消费税的委托加工存货,由受托方
  • 利润分配在利润表中如何列示
  • 收到退回去年增值税怎么做账
  • 长期资本负债率怎么计算公式
  • 财务报表利润表怎么填
  • 购买的房屋如何过户
  • 上缴财政的收入 企业所得税
  • 安装固定资产的费用
  • 蝾螈白话怎么读
  • linux系统已经得到了广泛的应用
  • 销售不动产分期收款怎么确认收入
  • 深度学习模型精度fp16和fp32
  • 奖金发放的原则
  • 进项税额不得抵扣的情况有哪些
  • 计算完工产品成本
  • thinkphp try catch
  • 支出的科目变化率怎么算
  • 爱心代码图
  • 收回已转销的应收账款是什么意思
  • 首涂24套
  • nacos注册流程
  • 帝国cms伪静态规则
  • dede标签的使用
  • 房开企业会计分录
  • 增值税及附加税费申报表附列资料一
  • 个税返还手续费政策
  • 园林绿化行业的市场需求是什么
  • 长期待摊费用未摊销完一次性处理怎么走
  • 子公司如何向母公司开户
  • 管理不善造成的存货盘亏损失计入什么科目
  • 购买税盘全额抵扣会计分录
  • 出租房屋的广告怎么写好
  • MySQL Index Condition Pushdown(ICP)性能优化方法实例
  • mysql8.0.23
  • mysql57安装过程怎样选安装目录
  • windows帐户登录
  • windows自动操作软件
  • sar 命令
  • ubuntu下source、sh、bash、./执行脚本的区别详细介绍
  • awk 筛选有特定字符
  • linux系统稳定
  • win7系统怎么关闭屏幕保护
  • linux如何直接访问gpio不用设备树
  • javascript字面量
  • 构造函数中super()的作用
  • opengl入门教程(精)
  • 安卓开发遇到的问题
  • nodejs 路由
  • js中遍历数组的方法
  • javascript设计
  • web 开发
  • 基于jQuery和Bootstrap的设计报告的参考文献
  • jquery实例
  • 电子税务局的社保不能扣款怎么办
  • 小规模纳税人租金收入增值税税率
  • 广东税务数字化平台官网
  • 国家税务网上办税服务厅官网
  • 四川医保卡原始密码是什么意思
  • 深圳国税申报系统恢复数据
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设