jQuery学习之remove与detach区别

来源:互联网 发布:js选项卡制作 编辑:程序博客网 时间:2024/05/24 03:20

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);
          
    });

参考文档
http://blog.csdn.net/chenguang79/article/details/7302794
0 0
原创粉丝点击