prevUntil() 関数は、指定された expression に一致する要素が見つかるまで、一致する各要素の前にすべての兄弟要素を選択するために使用され、それを jQuery オブジェクトの形式で返します。
ここでの式は、セレクター (文字列)、DOM 要素 (Element)、jQuery オブジェクトを指します。
セレクターを使用して、選択範囲をさらに絞り込み、指定したセレクターに一致する要素をフィルターで除外することもできます。
この関数の反対は nextUntil() 関数です。この関数は、指定された式に一致する要素が見つかるまで、一致する各要素の後のすべての兄弟要素を選択するために使用されます。
この関数はjQueryオブジェクト(インスタンス)に属します。
構文
この関数はjQuery 1.4で追加されました。
jQueryObject.prevUntil( [ untilExpr [, filter ] ] )
Parameter
パラメータの説明
untilExpr オプション/文字列/要素/jQuery タイプで指定された式 (現在の照合プロセス中にこの式に一致する式が見つかった場合) 要素現在マッチングを停止します。
filter オプション/文字列型の指定されたセレクター文字列。一致する要素をフィルターするために使用されます。
prevUntil() 関数は、指定された式 untilExpr (この要素を除く) に一致する要素が見つかるまで、現在の jQuery オブジェクトの一致する各要素の前にあるすべての兄弟要素を選択します。さらに、フィルター パラメーターを指定してフィルター範囲をさらに絞り込み、フィルター セレクターに一致する要素を選択することもできます。
untilExpr パラメーターを省略した場合、以前のすべての兄弟要素が選択されます。
jQuery 1.6 の新しいサポート: パラメーター untilExpr は DOM 要素 (Element) または jQuery オブジェクトにすることができます。
戻り値
prevUntil()関数の戻り値はjQuery型で、新しいjQueryオブジェクトを返します。このオブジェクトは、現在のjQueryオブジェクト(指定されている場合)の各一致要素の前にあるすべての一致するセレクター・フィルターをカプセル化します(指定されている場合)兄弟要素Expr が見つかるまで、指定された式に一致する要素。
一致する要素がない場合は、空の jQuery オブジェクトが返されます。
例と説明
prevUntil() 関数と prevAll() 関数には次の同等のコードがあります:
// 这里的selector表示任意的选择器 // 两者均不带任何参数 $("selector").prevUntil( ); // 等价于 $("selector").prevAll( );
次の 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>
次の 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
以上がjQuery.prevUntil()関数インスタンスの使用方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。