jQuery 元素移除empty() remove()与detach()的区别?

@1.empty() 删除匹配元素集合中所有的后代字节点元素

         <p>hello<span>world</span></p>

         $("p").empty();   <p></p>

@2.remove([expr]) 接收参数表示删除指定的元素

$("p").remove()  删除所有段落

$("p").remove(".hel") 删除带有.hel类名的段落

这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除

@3.detach([expre]) 从DOM中删除所有匹配的元素

这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来

<body>    

         <div id="google">Google</div>

<div id="apple">Apple</div>

</body>

<script type="text/javascript">

          $(function () {

        $("#apple").hover(function () {

            $(this).text("Google+");

        });

        apple = $("#apple").remove();   <!-- //使用 remove() hover()事件也会被删除 -->

       /*apple = $("#apple").detach();*/<!--  //使用detach() hover()事件会保存下来 -->

        $("body").append(apple);         

    });

</script>

原文地址:https://www.cnblogs.com/jiechn/p/4218393.html