jQuery 選擇器 (ancestor descendant)

2018-11-23 16:56 更新

jQuery 選擇器 (ancestor descendant)

jQuery 選擇器 jQuery 選擇器


定義和用法

jQuery的ancestor descendant選擇器(后代選擇器)用于匹配ancestor元素內(nèi)所有的descendant元素,將其封裝為jQuery對象并返回。

注意: 選擇器descendant的查找范圍是"ancestor元素"的后代元素,不管是"ancestor元素"的子輩元素,還是"孫子輩",以及更"后輩"的元素均可。

如果你只想查找子輩元素,請使用子代選擇器(parent > child)


語法

// 這里的ancestor表示具體的祖先選擇器
// 這里的descendant表示具體的后代選擇器
jQuery("ancestor descendant")

參數(shù)

參數(shù)描述
ancestor一個有效的祖先選擇器。
descendant一個有效的后代選擇器。

返回值

返回封裝了在符合祖先選擇器的DOM元素內(nèi)查找到的符合后代選擇器的DOM元素的jQuery對象。

如果找不到與祖先選擇器匹配的DOM元素,或者在符合祖先選擇器的DOM元素內(nèi)找不到符合后代選擇器的DOM元素,則返回一個空的jQuery對象。

符合祖先選擇器的祖先DOM元素可能有多個,在一個祖先DOM元素內(nèi)也可能查找到多個后代DOM元素,返回的jQuery對象中封裝了符合條件的所有DOM元素。


實(shí)例

實(shí)例

以下面這段代碼為例:

/* HTML代碼 */
<div id="n1">
    <p id="n2" class="test">
        <span id="n3" class="a">Welcome</span>
    </p>
    <p id="n4" class="detail">
        <span id="n5" class="b codeplayer">To
            <span id="n6" class="c">w3cschool.cn</span>
        </span>
    </p>
</div>

/* jQuery代碼 */
<script>
// 擴(kuò)展jQuery對象,添加showTagInfo()方法
// 用于將jQuery對象所有匹配元素的標(biāo)識信息追加到body元素內(nèi)
// 每個元素的標(biāo)識信息形如:"tagName"或"tagName#id"
jQuery.fn.showTagInfo = function(){
var tags = this.map( function(){
return this.tagName + ( this.id ? "#" + this.id : "" ); 
} ).get();
$("body").append( tags.join("<br>") + "<br><br>" );
};

// 選擇了id分別為n2、n4的2個元素
$("#n1 p").showTagInfo();

// 匹配p元素的所有后代span元素
// 選擇了id分別為n3、n5、n6的3個元素
$("p span").showTagInfo();

// 匹配id為n1的元素的后代中
// 選擇了id為n6的一個元素
$("#n1 p.detail span.c").showTagInfo();
</script>

嘗試一下 ?

點(diǎn)擊 "嘗試一下" 按鈕查看在線實(shí)例


jQuery 選擇器 jQuery 選擇器

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號