DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> jQuery入門知識 >> JQuery特效代碼 >> jQuery DOM刪除節點操作指南
jQuery DOM刪除節點操作指南
編輯:JQuery特效代碼     

下面示例可能用到如下HTML代碼:

代碼如下:
<ul>
  <li title="t1">蘋果</li>
  <li>香蕉</li>
  <li>橘子</li>
  <li>葡萄</li>
  <li>草莓</li>
</ul>

1、remove()方法:

作用:從DOM中刪除所有匹配的元素,傳入的參數用於根據jQuery表達式來篩選元素。

例如,刪除上圖中<ul>節點中的第二個<li>元素節點,jQuery代碼如下:

代碼如下:
$(document).ready(function() {
   $("ul li:eq(1)").remove();
});

當某個節點用remove()方法刪除後,該節點所包含的所有後代節點將同時被刪除。這個方法的返回值是一個指向已被刪除的節點的引用,因此可以在以後再使用這些元素。下面的jQuery代碼說明元素用remove()方法刪除後,還是可以繼續使用的。

代碼如下:
var $li=$("ul li:eq(1)").remove();
$li.appendTo("ul");   //把刪除的節點又重新添加到<ul>元素裡

可以直接使用appendTo()方法的特性來簡化以上代碼:

代碼如下:
$("ul li:eq(1)").appendTo("ul");//appendTo()方法也可以用來移動元素,移動元素時首先從文檔上刪除此元素,然後將該元素插入到文檔中的指定節點。

另外remove()方法也可以通過傳遞參數來選擇性地刪除元素:

代碼如下:
$("ul li").remove("li[title='t1']");

2、detach()方法:

detach()和remove()一樣,也是從DOM中去掉所有匹配的元素。但需要注意的是,這個方法不會匹配的元素從jQuery對象刪除,因而可以在將來再使用這些匹配的元素。與remove()不同的是,所有綁定的事件、附件的數據等都會保留下來。

通過下面的例子,可以知道它與remove()方法的區別:

代碼如下:
$("ul li").click(function(){
   alert($(this).html());
})
var $li=$("ul li:eq(1)").detach();  //刪除元素
$li.appendTo("ul");  //重新追加此元素,發現它之前綁定的事件還在,如果使用remove()方法刪除元素的話,那麼它之前把綁定的事件將失效;

3、empty()方法

嚴格來講,empty()方法並不是刪除節點,而是清除節點,它能清空元素中的所有後代節點。

代碼如下:
$("ul li:eq(1)").empty();//獲取第二個<li>元素節點後,清空此元素裡的內容,注意是元素裡。

運行後的結果為:

當運行代碼後,第二個<li>元素的內容被清空了,只剩下<li>元素默認的符號"."。

以上就是本文所述的全部內容了,希望大家能夠喜歡。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved