如果文檔中某一個元素多余,那么應將其刪除。JQuery提供了兩種刪除節點的方法,即remove()和empty()。
HTML DOM結構如下:
1 |
< p class = "nm_p" title = "歡迎訪問簡明現代魔法圖書館" >歡迎訪問簡明現代魔法圖書館</ p > |
3 |
< li title = 'PHP魔法' >簡單易懂的PHP魔法</ li > |
4 |
< li title = 'C魔法' >簡單易懂的C魔法</ li > |
5 |
< li title = 'JavaScript魔法' >簡單易懂的JavaScript魔法</ li > |
6 |
< li title = 'JQuery' >簡單易懂的JQuery魔法</ li > |
7 |
</ ul > remove()方法 作用是從DOM中刪除所有匹配的元素,傳入的參數用於根據JQuery表達式來篩選元素。 例如刪除<ul>節點中的第2個<li>元素節點,JQuery代碼如下:
1 |
$( ".nm_ul li:eq(1)" ).remove(); |
運行代碼后效果將刪掉第二個節點。 當某個節點用remove()方法刪除后,該節點所包含的所有后代節點將同時被刪除。這個方法的返回值是一個指向已被刪除的節點的引用,因此可以在以后再使用這些元素。下面的JQuery代碼說明元素用remove()方法刪除后,還是可以繼續使用的。
1 |
var $li = $( "nm_ul li:eq(1)" ).remove(); |
可以直接使用appendTo()方法的特性來簡化以上代碼,JQuery代碼如下:
1 |
$( "nm_ul li:eq(1)" ).appendTo( "nm_ul" ); |
另外remove()方法也可以通過傳遞參數來選擇性地刪除元素,JQuery代碼如下:
2 |
$( "nm_ul li" ).remove( "li[title!=JQuery]" ); |
empty()方法 嚴格來講,empty()方法並不是刪除節點,而是清空節點,它能清空元素中的所有后代節點。JQuery代碼如下:
1 |
$( "nm_ul li:eq(1)" ).empty(); |
當運行代碼后,第2個<li>元素的內容被清空了,只剩下<li>標簽默認的符號“.”。 |