1) parentsUntil返回的是一個(gè)數(shù)組,而不是單個(gè)對象
關(guān)于這個(gè),注意'parents'是復(fù)數(shù)就行了,表示它會返回一系列的祖先元素,在數(shù)組中越外層的元素的下標(biāo)越大。
2) parentsUntil返回的數(shù)組中剛好不包括滿足選擇器參數(shù)條件的對象
這個(gè)有點(diǎn)奇怪,很容易產(chǎn)生誤導(dǎo)。
3) parentsUntil返回的數(shù)組中都不是Jquery封裝的對象,需要再次封裝它們才能使用Jquery提供的API
這個(gè)更奇怪,連官方文檔都沒有說明這一點(diǎn),尤其是在另一個(gè)API調(diào)用 parent()返回的是Jquery對象的情況下,parentsUntil()的這種返回類型很容易產(chǎn)生誤導(dǎo)。
舉例來說,如果想獲得包含某元素(id="xxx")的最近的一個(gè)p容器,
錯(cuò)誤寫法1:
var pparent = $("#xxx").parentsUntil("p"); //parentsUntil返回的是一個(gè)數(shù)組而不是單個(gè)元素
錯(cuò)誤的寫法2:
var parents = $("#xxx").parentsUntil("p");
var pparent = parents[parents.length-1]; //parentsUntil返回的數(shù)組中剛好不包括滿足選擇器參數(shù)條件的對象
錯(cuò)誤的寫法3:
var parents = $("#xxx").parentsUntil("p");
var pparent = parents[parents.length-1].parent(); //返回的數(shù)組中都不是Jquery封裝的對象,需要再次封裝它們才能使用Jquery提供的parent()調(diào)用。
正確寫法:
var parents = $("#xxx").parentsUntil();
var pparent = $(parents[parents.length-1]).parent();
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com