1. empty()是只移除了 指定元素中的所有子节点,拿$("p").empty()来说,他只是把<p>dsfsd</p>中的文本给移除了,而留下 了<p></p>,仍保留其在dom中所占的位置。
2. remove([expr])则是把其从dom中删除,而不会保留其所占的位置。
例:<p>Hello</p>World<p>welcome</p>
执行$("p").empty()其结果是<p></p>World<p></p>
执行$("p").remove()其结果是World
等价:
$("p").remove("#second");
$("p#second").remove();
remove
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。但除了这个元素本身得以保留之外,其他的比如绑定的事件,附加的数据等都会被移除。
detach([expr] )
这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据等都会保留下来。