2015年10月23日
刪除節(jié)點(diǎn)
jquery提供了3種刪除節(jié)點(diǎn)的方法,即remove( ),detach( )和empty( )。
1.remove( )方法
作用:從DOM中刪除所有匹配的元素,傳入的參數(shù)根據(jù)jquery表達(dá)式來(lái)篩選元素。
例如刪除<ul>節(jié)點(diǎn)的第二個(gè)<li>元素節(jié)點(diǎn),示例:
$("ul li:eq(1)").remove( );
當(dāng)某個(gè)節(jié)點(diǎn)用remove( )刪除后,該節(jié)點(diǎn)所包含的所有后代節(jié)點(diǎn)將同時(shí)被刪除。這個(gè)方法的返回值是一個(gè)指向已被刪除的節(jié)點(diǎn)的引用,因此可以在以后再使用這些元素。示例:
var $li = $("ul li:eq(1)").remove( );
$li.appendTo("ul");
remove( )方法也可以通過(guò)傳遞參數(shù)來(lái)選擇性的刪除元素,示例:
$("ul li").remove("li[title!=菠蘿]");
2.detach()方法
detach()方法和remove()方法一樣,也是從DOM中去掉匹配的元素。但是,detach()方法不會(huì)把匹配的元素從jquery對(duì)象中刪除,因而將來(lái)可以再使用這些匹配的元素。與remove( )不同的是,所有綁定的時(shí)間、附加的數(shù)據(jù)等都會(huì)保留下來(lái)。
3.empty()方法
嚴(yán)格來(lái)講,empty()并不是刪除節(jié)點(diǎn),而是清空節(jié)點(diǎn),他能清空元素中所有后代節(jié)點(diǎn)
復(fù)制節(jié)點(diǎn)
復(fù)制節(jié)點(diǎn)使用clone( )方法來(lái)完成
復(fù)制節(jié)點(diǎn)后,被復(fù)制的新元素不具有任何行為。如果需要新元素也具有復(fù)制功能,可以
clone(true)
在clone()中傳遞了一個(gè)true參數(shù),他的含義是復(fù)制元素的同時(shí)復(fù)制元素中綁定的事件。
替換節(jié)點(diǎn)
replaceWith( )和replaAll( )
replaceWith( )方法是將所有匹配的元素都替換成指定的HTML或DOM元素。
示例:
$("p").replaceWith("<strong>您好</strong>");
replaceAll( )方法的作用只是顛倒了replaceWith( ),示例:
("<strong>您好</strong>").replaceAll("p");
兩者的效果都一樣。
2015年10月26日 周一
包裹節(jié)點(diǎn)
如果要將某個(gè)節(jié)點(diǎn)用其他標(biāo)記包裹起來(lái),使用wrap( )。改方法對(duì)于需要在文檔中插入額外的結(jié)構(gòu)化標(biāo)記非常有用。
示例:
$("strong").wrap("<b></b>"); //用<b>標(biāo)簽把<strong>元素包裹起來(lái)
得到的結(jié)果如下:
<b><strong>您好</strong></b>
包裹節(jié)點(diǎn)還有其他兩個(gè)方法,即wrapAll( )