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