微信小程序建设_老生常谈jquery中detach()和remove(

老生常谈jquery中detach()和remove()的区别     投稿:jingxian   下面小编就为大家带来一篇老生常谈jquery中detach()和remove()的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

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

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


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" 
 border: 1px solid red;
 /style 
 script src="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();
 ('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()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持凡科。




扫描二维码分享到微信