老生常谈jquery中detach()和remove()的区别

发布时间 - 2026-01-10 23:22:23    点击率:

JQuery是一个很大强的工具库,在工作中开发中,可是有些方法还是因为不常用到,或是没有注意到而被我们而忽略。

remove()和detach()可能就是其中的一个,可能remove()我们用得比较多,而detach()就可能会很少了

通过一张对比表来解释2个方法之间的不同

方法名

参数

事件及数据是否也被移除

元素自身是否被移除

remove

支持选择器表达

是(无参数时),有参数时要根据参数所涉及的范围

detach

参数同remove

情况同remove

remove:移除节点

- 无参数,移除自身整个节点以及该节点的内部的所有节点,包括节点上事件与数据

- 有参数,移除筛选出的节点以及该节点的内部的所有节点,包括节点上事件与数据

detach:移除节点

- 移除的处理与remove一致

- 与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来

- 例如:$("p").detach()这一句会移除对象,仅仅是显示效果没有了。但是内存中还是存在的。当你append之后,又重新回到了文档流中。就又显示出来了。

eq:

<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
  <style type="text/css">
    p {
      border: 1px solid red;
    }
  </style>
  <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
<h3>给页面2个p元素节点绑定点击事件,点击后弹出自己本身的节点内容</h3>

<p>元素p1,同时绑定点击事件</p>

<p>元素p2,同时绑定点击事件</p>

<h3>通过点击2个按钮后观察方法处理的区别</h3>
<button>点击通过remove处理元素p1</button>
<button>点击通过detach处理元素p2</button>
</body>
<script type="text/javascript">
  //给页面上2个p元素都绑定时间 
  $('p').click(function (e) {
    alert(e.target.innerHTML)
  })

  $("button:first").click(function () {
    var p = $("p:first").remove();
    p.css('color', 'red').html('p1通过remove处理后,点击该元素,事件丢失')
    $("body").append(p);
  });

  $("button:last").click(function () {
    var p = $("p:first").detach();
    p.css('color', 'blue').text('p2通过detach处理后,点击该元素事件存在')
    $("body").append(p);
  });
</script>
</script>

</html >

以上这篇老生常谈jquery中detach()和remove()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# remove和detach的区别  # PHP isset()与empty()的使用区别详解  # jQuery删除节点的三个方法即remove()detach()和empty()  # php empty  # isset  # is_null判断比较(差异与异同)  # jQuery使用empty()方法删除元素及其所有子元素的方法  # javascript Array.remove() 数组删除  # jquery之empty()与remove()区别说明  # 浅谈java Iterator.remove()方法的用法(详解)  # jQuery remove()过滤被删除的元素(推荐)  # 清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)  # 移除  # 绑定  # 给大家  # 的是  # 是一个  # 这一  # 老生常谈  # 当你  # 希望能  # 注意到  # 少了  # 弹出  # 仅仅是  # 这篇  # 会很  # 比较多  # 时要  # 小编  # 就又  # 在工作中 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  做企业网站制作流程,企业网站制作基本流程有哪些?  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  动图在线制作网站有哪些,滑动动图图集怎么做?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  javascript如何操作浏览器历史记录_怎样实现无刷新导航  Laravel如何创建自定义Artisan命令?(代码示例)  如何在阿里云高效完成企业建站全流程?  Laravel定时任务怎么设置_Laravel Crontab调度器配置  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  微信小程序 HTTPS报错整理常见问题及解决方案  php在windows下怎么调试_phpwindows环境调试操作说明【操作】  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  Laravel如何为API生成Swagger或OpenAPI文档  如何在IIS服务器上快速部署高效网站?  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  高防服务器租用如何选择配置与防御等级?  Java解压缩zip - 解压缩多个文件或文件夹实例  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  python中快速进行多个字符替换的方法小结  Android仿QQ列表左滑删除操作  如何做网站制作流程,*游戏网站怎么搭建?  lovemo网页版地址 lovemo官网手机登录  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  C#如何调用原生C++ COM对象详解  Python文件流缓冲机制_IO性能解析【教程】  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Python文件操作最佳实践_稳定性说明【指导】  如何在建站之星网店版论坛获取技术支持?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  如何在建站主机中优化服务器配置?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  iOS中将个别页面强制横屏其他页面竖屏  如何确认建站备案号应放置的具体位置?  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  活动邀请函制作网站有哪些,活动邀请函文案?  免费网站制作appp,免费制作app哪个平台好?  BootStrap整体框架之基础布局组件  jimdo怎样用html5做选项卡_jimdo选项卡html5实现与切换效果【指南】  三星、SK海力士获美批准:可向中国出口芯片制造设备