1、DOM節(jié)點(diǎn)刪除之empty()的基本用法
<div class="hello"><p>慕課網(wǎng)</p></div>
//通過(guò)empty處理
$('.hello').empty()
//結(jié)果:<p>慕課網(wǎng)</p>被移除
<div class="hello"></div>
http://js.jirengu.com/kitidilibi/1/
2、DOM節(jié)點(diǎn)刪除之remove()的有參用法和無(wú)參用法
remove會(huì)將元素自身移除,同時(shí)也會(huì)移除元素內(nèi)部的一切,包括綁定的事件及與該元素相關(guān)的jQuery數(shù)據(jù)。
remove表達(dá)式參數(shù):
remove比empty好用的地方就是可以傳遞一個(gè)選擇器表達(dá)式用來(lái)過(guò)濾將被移除的匹配元素集合,可以選擇性的刪除指定的節(jié)點(diǎn)
$("p").filter(":contains('3')").remove()
http://js.jirengu.com/lijegiteqi/1/
//找到所有p元素中,包含了3的元素
$("p").remove(":contains('3')")
empty方法
嚴(yán)格地講,empty()方法并不是刪除節(jié)點(diǎn),而是清空節(jié)點(diǎn),它能清空元素中的所有后代節(jié)點(diǎn)
empty不能刪除自己本身這個(gè)節(jié)點(diǎn)
remove方法
該節(jié)點(diǎn)與該節(jié)點(diǎn)所包含的所有后代節(jié)點(diǎn)將同時(shí)被刪除
提供傳遞一個(gè)篩選的表達(dá)式,刪除指定合集中的元素
3、DOM節(jié)點(diǎn)刪除之保留數(shù)據(jù)的刪除操作detach()
這個(gè)方法不會(huì)把匹配的元素從jQuery對(duì)象中刪除,因而可以在將來(lái)再使用這些匹配的元素。與remove()不同的是,所有綁定的事件、附加的數(shù)據(jù)等都會(huì)保留下來(lái)。
$("div").detach()這一句會(huì)移除對(duì)象,僅僅是顯示效果沒(méi)有了。但是內(nèi)存中還是存在的。當(dāng)你append之后,又重新回到了文檔流中。就又顯示出來(lái)了。
http://js.jirengu.com/suwocipoge/1/
??????
$("#bt1").click(function() {
if (!$("p").length) return; //去重??????
//通過(guò)detach方法刪除元素
//只是頁(yè)面不可見(jiàn),但是這個(gè)節(jié)點(diǎn)還是保存在內(nèi)存中
//數(shù)據(jù)與事件都不會(huì)丟失
p = $("p").detach()
});