當(dāng)前jQuery對(duì)象可能是通過調(diào)用其它jQuery對(duì)象的特定方法創(chuàng)建的,使用該函數(shù)將返回一個(gè)新的jQuery對(duì)象,該對(duì)象包含了當(dāng)前jQuery對(duì)象和之前創(chuàng)建它的jQuery對(duì)象的所有匹配元素。
你還可以使用選擇器進(jìn)一步縮小添加范圍,只添加之前的jQuery對(duì)象中符合指定選擇器的元素。
該函數(shù)屬于jQuery對(duì)象(實(shí)例)。
語(yǔ)法
jQuery 1.8 新增該函數(shù)。andSelf()函數(shù)是該函數(shù)的別名(從1.8開始,andSelf()函數(shù)已過時(shí))。
jQueryObject.addBack( [ selector ] )
參數(shù)
參數(shù)
描述
selector 可選/String類型指定的選擇器字符串。
如果省略selector參數(shù),則添加之前jQuery對(duì)象的所有匹配元素。
返回值
addBack()函數(shù)的返回值為jQuery類型,返回一個(gè)新的jQuery對(duì)象,該對(duì)象包含了當(dāng)前jQuery對(duì)象的所有匹配元素以及創(chuàng)建當(dāng)前jQuery對(duì)象的jQuery對(duì)象的匹配元素中符合指定選擇器的元素。
如果沒有匹配的元素,則返回空的jQuery對(duì)象。
從jQuery 1.8開始,andSelf()函數(shù)是該函數(shù)的別名。
細(xì)節(jié)說(shuō)明:當(dāng)一個(gè)jQuery對(duì)象被創(chuàng)建時(shí),其內(nèi)部有一個(gè)屬性(prevObject)會(huì)保存創(chuàng)建它的jQuery對(duì)象的引用。調(diào)用addBack()函數(shù)時(shí),當(dāng)前jQuery和創(chuàng)建它的jQuery對(duì)象會(huì)通過add()函數(shù)連接起來(lái),并返回一個(gè)新的jQuery對(duì)象。
示例&說(shuō)明
以下面這段HTML代碼為例:
<p id="n1"> <span id="n2"> <span id="n3">A</span> </span> <label id="n4">B</label> <span id="n5"> <span id="n6">C</span> </span> <strong id="n7" class="active">D</strong> <span id="n8" class="active">E</span> </p> <p id="n9"> <span id="n10"></span> <label id="n11"></label> <span id="n12" class="active"></span> </p>
以下jQuery示例代碼用于演示addBack()函數(shù)的具體用法:
//返回jQuery對(duì)象所有匹配元素的標(biāo)識(shí)信息數(shù)組 //每個(gè)元素形如:#id function getTagsInfo($doms){ return $doms.map(function(){ return "#" + this.id; }).get(); } //匹配所有的p元素 var $p = $("p"); //選取所有p元素的后代label元素 var $label = $p.find("label"); //由于jQuery對(duì)象$label是通過$p的特定方法創(chuàng)建,使用addBack()將返回一個(gè)新的jQuery對(duì)象 //該對(duì)象所匹配的元素是$p和$label兩者的匹配元素之和 var $pAndLabel = $label.addBack(); document.writeln( getTagsInfo( $pAndLabel ) ); // #n1,#n4,#n9,#n11 // 所有包含類名"active"的元素的上一個(gè)緊鄰的同輩元素(#) // 再加上所有包含類名"active"的元素中的span元素 var $elements = $(".active").prev().addBack("span"); document.writeln( getTagsInfo( $elements ) ); // #n5,#n7,#n8,#n11,#n12 //addBack()之前有3個(gè)jQuery對(duì)象: //第1個(gè):$("p") //第2個(gè):$("p").find("strong") //第3個(gè):$("p").find("strong").siblings(".active") //調(diào)用addBack()的是第3個(gè)對(duì)象,創(chuàng)建該對(duì)象的是第2個(gè)對(duì)象 //因此addBack()返回包含第3個(gè)對(duì)象和第2個(gè)對(duì)象的匹配元素之和的jQuery對(duì)象 var $matches = $("p").find("strong").siblings(".active").addBack(); document.writeln( getTagsInfo( $matches ) ); // #n7,#n8
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com