jQuery学习之remove与detach区别

1、remove([expr])
 
概述:从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附
 
加的数据等都会被移除。
 
<div class="pt-main">
<p class="first">第一项</p>
<ul id="sideNav">
    <li>Item1</li>
    <li>Item2</li>
    <li>Item3</li>
    <li>Item4</li>
</ul>
</div>
 
 $('p').remove();//或者  $('p').remove('.first');
 
 
2、detach([expr])
 
概述:从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留
 
下来。
 
 $('p').detach();
 
比较:
 
<div id="google">Google</div>
<div id="apple">Apple</div>
 
 $(function () {
        $("#apple").hover(function () {
            $(this).text("Google+");
        });
        //使用 remove() hover()事件也会被删除
        //apple = $("#apple").remove();
 
        //使用detach() hover()事件会保存下来
        apple = $("#apple").detach();
        $("body").append(apple);
          
    });
 
posted @ 2013-02-21 11:06  {前端开发}  阅读(222)  评论(0编辑  收藏  举报