-
關(guān)于$('a').find('b:first')、$('b:first','a')、$('b:first, a')、$('a b:first')的區(qū)別
$('a').find('b:first')、$('b:first','a')等效,獲取每個(gè)a下面的第一個(gè)b
$('b:first, a')獲取a和第一個(gè)b(注意引號)
$('a b')類似$('a').find('b')但是只取了a下面的第一個(gè)b(只有一個(gè))
查看全部 -
起始位置不同:.closest開始于當(dāng)前元素 .parents開始于父元素
遍歷的目標(biāo)不同:.closest要找到指定的目標(biāo),.parents遍歷到文檔根元素,closest向上查找,直到找到一個(gè)匹配的就停止查找,parents一直查找到根元素,并將匹配的元素加入集合
結(jié)果不同:.closest返回的是包含零個(gè)或一個(gè)元素的jquery對象,parents返回的是包含零個(gè)或一個(gè)或多個(gè)元素的jquery對象查看全部 -
<div>
??? <p>p元素</p>
</div>
$('p').unwrap( )
? <p>p元素</p>
找到p元素,然后調(diào)用unwrap方法,這樣只會刪除父輩div元素了查看全部 -
$('<a >替換第二段的內(nèi)容</a>').replaceAll('p:eq(1)').replaceAll()和.replaceWith()功能類似,主要是目標(biāo)和源的位置區(qū)別
.replaceWith()與.replaceAll() 方法會刪除與節(jié)點(diǎn)相關(guān)聯(lián)的所有數(shù)據(jù)和事件處理程序查看全部 -
remove:移除節(jié)點(diǎn)
無參數(shù),移除自身整個(gè)節(jié)點(diǎn)以及該節(jié)點(diǎn)的內(nèi)部的所有節(jié)點(diǎn),包括節(jié)點(diǎn)上事件與數(shù)據(jù)
有參數(shù),移除篩選出的節(jié)點(diǎn)以及該節(jié)點(diǎn)的內(nèi)部的所有節(jié)點(diǎn),包括節(jié)點(diǎn)上事件與數(shù)據(jù)
detach:移除節(jié)點(diǎn)
移除的處理與remove一致
與remove()不同的是,所有綁定的事件、附加的數(shù)據(jù)等都會保留下來
例如:$("p").detach()這一句會移除對象,僅僅是顯示效果沒有了。但是內(nèi)存中還是存在的。當(dāng)你append之后,又重新回到了文檔流中。就又顯示出來了。查看全部 -
p = $("p").detach()刪除
???$("body").append(p);重新添加事件還在查看全部 -
這個(gè)方法不會把匹配的元素從jQuery對象中刪除,因而可以在將來再使用這些匹配的元素。與remove()不同的是,所有綁定的事件、附加的數(shù)據(jù)等都會保留下來。
$("div").detach()這一句會移除對象,僅僅是顯示效果沒有了。但是內(nèi)存中還是存在的。當(dāng)你append之后,又重新回到了文檔流中。就又顯示出來了。查看全部 -
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á)式,刪除指定合集中的元素查看全部 -
//通過remove處理
$('.hello').remove()
//結(jié)果:<div class="hello"><p>慕課網(wǎng)</p></div> 全部被移除
//節(jié)點(diǎn)不存在了,同事事件也會被銷毀包含自身元素查看全部 -
//通過empty處理
$('.hello').empty()
只移除子節(jié)點(diǎn)及子節(jié)點(diǎn)下的所有內(nèi)容查看全部 -
.before()和.insertBefore()實(shí)現(xiàn)同樣的功能。主要的區(qū)別是語法——內(nèi)容和目標(biāo)的位置。 對于before()選擇表達(dá)式在函數(shù)前面,內(nèi)容作為參數(shù),而.insertBefore()剛好相反,內(nèi)容在方法前面,它將被放在參數(shù)里元素的前面
.after()和.insertAfter() 實(shí)現(xiàn)同樣的功能。主要的不同是語法——特別是(插入)內(nèi)容和目標(biāo)的位置。 對于after()選擇表達(dá)式在函數(shù)的前面,參數(shù)是將要插入的內(nèi)容。對于 .insertAfter(), 剛好相反,內(nèi)容在方法前面,它將被放在參數(shù)里元素的后面
before、after與insertBefore。insertAfter的除了目標(biāo)與位置的不同外,后面的不支持多參數(shù)處理
注意事項(xiàng):
insertAfter將JQuery封裝好的元素插入到指定元素的后面,如果元素后面有元素了,那將后面的元素后移,然后將JQuery對象插入;
insertBefore將JQuery封裝好的元素插入到指定元素的前面,如果元素前面有元素了,那將前面的元素前移,然后將JQuery對象插入;查看全部 -
append()向每個(gè)匹配的元素內(nèi)部追加內(nèi)容
prepend()向每個(gè)匹配的元素內(nèi)部前置內(nèi)容
appendTo()把所有匹配的元素追加到另一個(gè)指定元素的集合中
prependTo()把所有匹配的元素前置到另一個(gè)指定的元素集合中查看全部 -
注意點(diǎn):
after向元素的后邊添加html代碼,如果元素后面有元素了,那將后面的元素后移,然后將html代碼插入
before向元素的前邊添加html代碼,如果元素前面有元素了,那將前面的元素前移,然后將html代碼插查看全部 -
append()前面是被插入的對象,后面是要在對象內(nèi)插入的元素內(nèi)容
appendTo()前面是要插入的元素內(nèi)容,而后面是被插入的對象查看全部 -
.replaceAll()和.replaceWith()功能類似,主要是目標(biāo)和源的位置區(qū)別
.replaceWith()與.replaceAll() 方法會刪除與節(jié)點(diǎn)相關(guān)聯(lián)的所有數(shù)據(jù)和事件處理程序
.replaceWith()方法,和大部分其他jQuery方法一樣,返回jQuery對象,所以可以和其他方法鏈接使用
.replaceWith()方法返回的jQuery對象引用的是替換前的節(jié)點(diǎn),而不是通過replaceWith/replaceAll方法替換后的節(jié)點(diǎn)
查看全部 -
jQuery遍歷之each()
?.each() 方法就是一個(gè)for循環(huán)的迭代器,它會迭代jQuery對象合集中的每一個(gè)DOM元素。每次回調(diào)函數(shù)執(zhí)行時(shí),會傳遞當(dāng)前循環(huán)次數(shù)作為參數(shù)(從0開始計(jì)數(shù)
each是一個(gè)for循環(huán)的包裝迭代器 each通過回調(diào)的方式處理,并且會有2個(gè)固定的實(shí)參,索引與元素 each回調(diào)方法中的this指向當(dāng)前迭代的dom元素
如果需要提前退出,可以以通過返回 false以便在回調(diào)函數(shù)內(nèi)中止循
查看全部
舉報(bào)