Rumah > hujung hadapan web > tutorial js > jQuery.prevUntil()函数实例用法详解

jQuery.prevUntil()函数实例用法详解

巴扎黑
Lepaskan: 2017-06-24 10:02:47
asal
1314 orang telah melayarinya

prevUntil()函数用于选取每个匹配元素之前所有的同辈元素,直到遇到符合指定表达式的元素为止,并以jQuery对象的形式返回。

这里的表达式是指:选择器(字符串)、DOM元素(Element)、jQuery对象。

你还可以使用选择器来进一步缩小选取范围,筛选出符合指定选择器的元素。

与该函数相对的是nextUntil()函数,用于选取每个匹配元素之后所有的同辈元素,直到遇到符合指定表达式的元素为止。

该函数属于jQuery对象(实例)。

语法

jQuery 1.4 新增该函数。

jQueryObject.prevUntil( [ untilExpr [, filter ] ] )

参数

参数 描述

untilExpr 可选/String/Element/jQuery类型指定的表达式,如果当前匹配过程中遇到符合该表达式的元素就停止当前匹配。

filter 可选/String类型指定的选择器字符串,用于筛选匹配的元素。

prevUntil()函数将选取当前jQuery对象每个匹配元素之前的所有同辈元素,直到遇到符合指定表达式untilExpr的元素(不包括该元素)为止。此外,我们还可以指定filter参数,用于进一步缩小筛选范围,选取出符合filter选择器的元素。

如果省略untilExpr参数,则选取之前的所有同辈元素。

jQuery 1.6 新增支持:参数untilExpr可以为DOM元素(Element)或jQuery对象。

返回值

prevUntil()函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象封装了当前jQuery对象每个匹配元素之前的所有符合选择器filter(如果指定了的话)的同辈元素,直到遇到符合指定表达式untilExpr的元素为止。

如果没有符合条件的元素,则返回空的jQuery对象。

示例&说明

prevUntil()函数与prevAll()函数具有如下等价代码:

// 这里的selector表示任意的选择器
// 两者均不带任何参数
$("selector").prevUntil( );
// 等价于
$("selector").prevAll( );
Salin selepas log masuk

以下面这段HTML代码为例:

<p id="n1">
    <span id="n2" class="foo"></span>
    <label id="n3"></label>
    <span id="n4"></span>
    <span id="n5" class="foo"></span>
</p>
<p id="n6">
    <strong id="n7" class="active"></strong>
    <span id="n8"></span>
    <span id="n9" class="foo"></span>
    <label id="n10"></label>
</p>
Salin selepas log masuk

以下jQuery示例代码用于演示prevUntil()函数的具体用法:

//返回jQuery对象所有匹配元素的标识信息数组
//每个元素形如:tagName或tagName#id(如果有id的话)
function getTagsInfo($doms){
    return $doms.map(function(){
        return this.tagName + (this.id ? "#" + this.id : "");
    }).get();
}
var $n5 = $("#n5");
//匹配n5之前的所有同辈元素,直到遇到包含类名"foo"的元素为止
var $elements = $n5.prevUntil(".foo");
document.writeln( getTagsInfo( $elements ) ); // SPAN#n4,LABEL#n3
//匹配n5之前的所有同辈元素,直到遇到label元素为止
var $matches = $n5.prevUntil("label");
document.writeln( getTagsInfo( $matches ) ); // SPAN#n4
var $label = $("label");
//匹配n5之前包含类名"foo"的所有同辈span元素,直到遇到包含类名"active"的元素为止
var $span_foo = $label.prevUntil(".active", "span.foo");
document.writeln( getTagsInfo( $span_foo ) ); // SPAN#n9,SPAN#n2
var $n9 = $("#n9");
//不带任何参数的prevUntil()函数等价于不带任何参数的prevAll()函数
var $result = $n9.prevUntil( );
document.writeln( getTagsInfo( $result ) ); // SPAN#n8,STRONG#n7
Salin selepas log masuk

Atas ialah kandungan terperinci jQuery.prevUntil()函数实例用法详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan