jquery的remove和detach的方法区别

前面写过一篇jQuery文档处理相关的文章,介绍了一下文档操作中删除相关的api。

 

那么remove与detach的区别最主要的是什么呢?

 

我们先做个测试,动动手比死的理论影响深刻。

 

 

 

<div id="test" style="width:200px;height:100px;">默认文字</div>

<input type="button" id="detach" value="detach" />

<div id="parent"></div>

 

 

$(function(){

    //绑hover
    $('#test').hover(function(){
		$(this).html("hover状态");
    },function(){
		$(this).html("原始的内容");
    });


   //调用detach;
   $('#detach').click(function(){
	   //绑detach
           //var test = $('#test').detach();

           //绑remove
	   var test = $('#test').remove();
           $('#parent').append(test);
   });

});

 

最后发现

 

  • detach之后,test的hover事件还存在
  • remove之后,test的hover事件不存在

注释:detach与remove返回的都是匹配的jQuery对象

 

 

结论

 

  • detach对所有绑定的事件,附加的数据都会保留,而remove不会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值