jQuery的remove和detach的区别

时间:2023-03-08 15:44:10
1、remove([expr])
概述:从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。
2、detach([expr])
概述:从DOM中删除所有匹配的元素。
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留。
实例:
<div id="google">Google</div>
<div id="apple">Apple</div> <script>
$(function () {
$("#apple").hover(function () {
$(this).text("Google+");
});
//使用 remove() hover()事件也会被删除
//apple = $("#apple").remove(); //使用detach() hover()事件会保存下来
apple = $("#apple").detach();
$("body").append(apple); });