prevall()函数用于选取每个匹配元素之前的所有同辈元素,并以jquery对象的形式返回。
你还可以使用选择器来进一步缩小选取范围,筛选出符合指定选择器的元素。
与该函数相对的是nextall()函数,用于选取每个匹配元素之后的所有同辈元素。
该函数属于jquery对象(实例)。
语法
jquery 1.2 新增该函数。
jqueryobject.prevall( [ selector ] )
参数
参数 描述
selector 可选/string类型指定的选择器字符串。
prevall()函数将在当前jquery对象每个匹配元素之前的同辈元素中筛选符合指定选择器的元素。
如果省略selector参数,则选取每个匹配元素之前的所有同辈元素。
返回值
prevall()函数的返回值为jquery类型,返回一个新的jquery对象,该对象封装了当前jquery对象每个匹配元素之前的所有符合指定选择器的同辈元素。
如果没有符合条件的元素,则返回空的jquery对象。
示例&说明
以下面这段html代码为例:
<p id="n1">
<span id="n2">
<span id="n3">a</span>
</span>
<strong id="n4" class="active">b</strong>
<span id="n5" class="active">c</span>
<label id="n6">d</label>
<span id="n7">
<span id="n8">e</span>
</span>
</p>
<p id="n9">
<span id="n10" class="active"></span>
<label id="n11"></label>
<span id="n12"></span>
</p>
以下jquery示例代码用于演示prevall()函数的具体用法:
//返回jquery对象所有匹配元素的标识信息数组
//每个元素形如:#id
function gettagsinfo($doms){
return $doms.map(function(){
return "#" + this.id;
}).get();
}
var $n6 = $("#n6");
//匹配n6之前所有的同辈元素
var $n6_prevall = $n6.prevall();
document.writeln( gettagsinfo( $n6_prevall ) ); // #n5,#n4,#n2
//匹配n6之前的所有同辈strong元素
var $n6_prevall_strong = $n6.prevall("strong");
document.writeln( gettagsinfo( $n6_prevall_strong ) ); // #n4
var $label = $("label");
//匹配所有label元素之前的包含类名"active"的同辈元素
var $label_prevall_active = $label.prevall(".active");
document.writeln( gettagsinfo( $label_prevall_active ) ); // #n10,#n5,#n4
以上就是jquery.prevall() 函数的用法详解的详细内容。