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