jQuery 选择器 (ancestor descendant)

2018-11-23 16:56 更新

jQuery 选择器 (ancestor descendant)

jQuery 选择器 jQuery 选择器


定义和用法

jQuery的ancestor descendant选择器(后代选择器)用于匹配ancestor元素所有的descendant元素,将其封装为jQuery对象并返回。

注意: 选择器descendant的查找范围是"ancestor元素"的后代元素,不管是"ancestor元素"的子辈元素,还是"孙子辈",以及更"后辈"的元素均可。

如果你只想查找子辈元素,请使用子代选择器(parent > child)


语法

// 这里的ancestor表示具体的祖先选择器
// 这里的descendant表示具体的后代选择器
jQuery("ancestor descendant")

参数

参数描述
ancestor一个有效的祖先选择器。
descendant一个有效的后代选择器。

返回值

返回封装了在符合祖先选择器的DOM元素内查找到的符合后代选择器的DOM元素的jQuery对象。

如果找不到与祖先选择器匹配的DOM元素,或者在符合祖先选择器的DOM元素内找不到符合后代选择器的DOM元素,则返回一个空的jQuery对象。

符合祖先选择器的祖先DOM元素可能有多个,在一个祖先DOM元素内也可能查找到多个后代DOM元素,返回的jQuery对象中封装了符合条件的所有DOM元素。


实例

实例

以下面这段代码为例:

/* 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>
// 扩展jQuery对象,添加showTagInfo()方法
// 用于将jQuery对象所有匹配元素的标识信息追加到body元素内
// 每个元素的标识信息形如:"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>

尝试一下 »

点击 "尝试一下" 按钮查看在线实例


jQuery 选择器 jQuery 选择器

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号