jQuery 选择器 (prev + next)
2018-11-23 16:55 更新
jQuery 选择器 (prev + next)
定义和用法
jQuery的prev + next选择器用于匹配紧接在prev元素后面的同辈next元素,将其封装为jQuery对象并返回。
注意: 选择器next
的查找范围必须是与"prev元素"相邻的下一个元素,并且必须是"prev元素"的同辈元素。
语法
// 这里的prev表示具体的选择器
// 这里的next表示具体的选择器jQuery( "prev + next" )
参数
参数 | 描述 |
---|---|
prev | 一个有效的选择器。 |
next | 一个有效的选择器。 |
返回值
返回封装了与"prev元素"紧邻的下一个同辈元素中、符合选择器next
的DOM元素的jQuery对象。
虽然与一个"prev元素"紧邻的下一个同辈元素最多只有一个,但是"prev元素"可以有多个,因此匹配到的DOM元素也可以有多个,并且都被封装在返回的jQuery对象中。
如果找不到任何相应的匹配,则返回一个空的jQuery对象。
实例
实例
以下面这段代码为例:
/* HTML代码 */
<p id="n2" class="test">
<span id="n3" class="a">Welcome</span>
<span id="n4">Hello</span>
</p>
<p id="n5" class="detail">
<span id="n6" class="b codeplayer">To
<span id="n7" class="a">w3cschool.cn</span>
<span id="n8"></span>
<span id="n9"></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为n5的一个元素
$("p + p").showTagInfo();
// 选择了id分别为n4、n8、n9的三个元素
// n4是n3的next,n8是n7的next,n9是n8的next
$("span + span").showTagInfo();
// 选择了id分别为n4、n8的两个元素
// n8没有包含类名a,因此无法匹配其next——n9
$("span.a + span").showTagInfo();
// 返回一个空的jQuery对象
// HTML中虽然有span标签,但不是p标签的同辈元素,而是其子代或后代
$("p + span").showTagInfo();
</script>
<div id="n1">
<p id="n2" class="test">
<span id="n3" class="a">Welcome</span>
<span id="n4">Hello</span>
</p>
<p id="n5" class="detail">
<span id="n6" class="b codeplayer">To
<span id="n7" class="a">w3cschool.cn</span>
<span id="n8"></span>
<span id="n9"></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为n5的一个元素
$("p + p").showTagInfo();
// 选择了id分别为n4、n8、n9的三个元素
// n4是n3的next,n8是n7的next,n9是n8的next
$("span + span").showTagInfo();
// 选择了id分别为n4、n8的两个元素
// n8没有包含类名a,因此无法匹配其next——n9
$("span.a + span").showTagInfo();
// 返回一个空的jQuery对象
// HTML中虽然有span标签,但不是p标签的同辈元素,而是其子代或后代
$("p + span").showTagInfo();
</script>
尝试一下 »
点击 "尝试一下" 按钮查看在线实例
以上内容是否对您有帮助:
更多建议: