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()方法並不是刪除節點,而是清空節點,它能清空元素中的所有後代節點。