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()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
本文向大家介绍老生常谈jquery id选择器和class选择器的区别,包括了老生常谈jquery id选择器和class选择器的区别的使用技巧和注意事项,需要的朋友参考一下 实例如下: size() 方法返回DOM对象的个数 即: id是唯一的,即使有多个id相同的元素,jquery选择器也只能获取其中一个 。所以:想在jquery中对id设置动作, id在页面中只允许出现一次。 对于CSS样式
本文向大家介绍老生常谈JQuery data方法的使用,包括了老生常谈JQuery data方法的使用的使用技巧和注意事项,需要的朋友参考一下 (-1)说明 我用的是chrome49,这个方法涉及到JQuery版本问题,我手里有3.0的,有1.9.1,后面将1.9.1及其以前的称为低版本,3.0称为高版本 测试例子用到的showMessage方法如下 (0)$.data(obj,key,value
本文向大家介绍老生常谈python中的重载,包括了老生常谈python中的重载的使用技巧和注意事项,需要的朋友参考一下 在一些静态语言中,大都存在有一个重载的概念。这是在OOP(面对对象编程)中一个必不可少的一个行为。 所谓重载,就是多个相同函数名的函数,根据传入的参数个数,参数类型而执行不同的功能。所以函数重载实质上是为了解决编程中参数可变不统一的问题。 python 中的重载 在pytho
本文向大家介绍老生常谈 js中this的指向,包括了老生常谈 js中this的指向的使用技巧和注意事项,需要的朋友参考一下 在js中this的指向对于新手来说一定是个难题,但是如果你真正理解了的话,也就没什么问题啦,下面就来讲讲this吧。 JS中,this的值取决于调用的模式(调用对象),而JS中共有4种调用模式: 1.函数调用模式 当一个函数不是一个对象的属性时,当作函数俩调用,这时函数内的t
本文向大家介绍老生常谈java中的Future模式,包括了老生常谈java中的Future模式的使用技巧和注意事项,需要的朋友参考一下 jdk1.7.0_79 本文实际上是对上文《简单谈谈ThreadPoolExecutor线程池之submit方法》的一个延续或者一个补充。在上文中提到的submit方法里出现了FutureTask,这不得不停止脚步将方向转向Java的Future模式。 Futur
本文向大家介绍老生常谈onTouch和onTouchEvent(必看篇),包括了老生常谈onTouch和onTouchEvent(必看篇)的使用技巧和注意事项,需要的朋友参考一下 1.onTouch和onTouchEvent,都是在dispatchTouchEvent()中调用,onTouch优先于onTouchEvent执行。如果在onTouch方法中通过返回true将事件消费掉,onTouch