jQuery提供了三种删除节点的方法,即remove(),detach()和empty()。
测试所用HTML代码:
<p title="选择你最喜欢的水果?">你最喜欢的水果是?</p>
<ul>
<li title="苹果">苹果</li>
<li title="橘子">橘子</li>
<li title="菠萝">菠萝</li>
</ul>
1、remove()方法
$("ul li").click(function(){
alert($(this).html());
});
var $li = $("ul li:eq(1)").remove();
$li.appendTo("ul");
当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素。
2、detach()方法
var $li = $("ul li:eq(1)").detach();
$li.appendTo("ul");
detach()和remove()一样,也是从DOM中去掉所有匹配的元素。但需要注意的是,这个方法不会把匹配的元素从jQuery对象中删除,因而可以在将来再使用这些匹配的元素。与remove()不同的是,所有绑定的事件、附加的数据都会保留下来。
3、empty()方法
var $li = $("ul li:eq(1)").empty();
$li.appendTo("ul");严格地讲,empty()方法并不是删除节点,而是清空节点,它能清空元素中的所有后代节点。
本文介绍了jQuery提供的三种删除节点的方法:remove(), detach() 和 empty() 的使用方式及特点。remove() 方法会删除节点及其所有后代节点;detach() 方法同样移除节点,但保留了绑定事件和附加数据;empty() 方法则清空元素中的所有后代节点。

5059

被折叠的 条评论
为什么被折叠?



