ホームページ  >  記事  >  ウェブフロントエンド  >  JQuery_jqueryの$.eachと$(selector).each()の違いの詳しい説明

JQuery_jqueryの$.eachと$(selector).each()の違いの詳しい説明

WBOY
WBOYオリジナル
2016-05-16 16:09:501066ブラウズ

オブジェクトと配列を走査するために使用できる一般的な走査関数。長さ属性を含む配列および疑似配列オブジェクト (関数の引数オブ​​ジェクトなどの疑似配列オブジェクト) は、0 からの数値インデックスで走査されます。 length-1 まで、他のオブジェクトはそのプロパティを介して走査されます。

$.each() は $(selector).each() とは異なり、後者は特に jquery オブジェクトを走査するために使用され、前者は任意のコレクション (配列またはオブジェクト) を走査するために使用できます。配列の場合、コールバック関数は配列のインデックスと対応する値を渡します (値は this キーワードを通じて取得することもできますが、JavaScript は常にこの値を文字列かオブジェクトとしてラップします)数値)、メソッドはトラバースされたオブジェクトを 1 つ返します。

例:————配列で渡す

コードをコピーします コードは次のとおりです:



<頭>



<スクリプト>

$.each([52, 97], function(index, value) {
alert(インデックス ‘: ‘ 値);
});





//出力

0:52
1:97

例:————マップがコレクションとして使用される場合、コールバック関数は毎回

キーと値のペアを渡します。

コードをコピーします コードは次のとおりです:



<頭>



<スクリプト>

var マップ = {
「可燃性」: 「可燃性」、
「当然」: 「いいえ、当然です」
};
$.each(マップ, 関数(キー, 値) {
alert(key ‘: ‘ value);
});





//出力

可燃性: 可燃性
当然: いや、当然です

例:——コールバック関数で false を返した場合は、$.each() を終了できます。 false 以外が返された場合は、for ループで continue を使用したのと同じようになり、すぐに開始されます。次の走査

コードをコピーします コードは次のとおりです:



<頭>
<スタイル>
div { 色:青 }
div#5 { 色:赤 }










<スクリプト>
var arr = [ "1", "two", "three", "four", "five" ];//array
var obj = { 1:1、2:2、3:3、4:4、5:5 }; // オブジェクト
jQuery.each(arr, function() { // この指定された値
$(“#” this).text(“Mine is ” this “.”) // this は、one、two
などの配列の値を指します。 return (this != “three”) // this = 3 の場合、トラバーサルを終了します
});
jQuery.each(obj, function(i, val) { // i はキーを指し、val は値を指定します
$(“#” i).append(document.createTextNode(“ – ” val));
});



// 出力

私のものは – 1
私の場合は – 2
私は 3 です。
- 4
- 5

例:——インデックスと値を渡して、配列の項目を走査します

コードをコピー コードは次のとおりです:



<頭>



<スクリプト>
$.each( ['a','b','c'], function(i, l){
alert( “インデックス #” i “: ” l );
});
 



例:———遍历对オブジェクトのプロパティ、キーと値の入力

复制代 代码如下:



<頭>



<スクリプト>
 
$.each( { name: “John”, lang: “JS” }, function(k, v){
alert( “キー: ” k “, 値: ” v );
});
 



正自评论の例


复制代码代码如下:

1. 如果不想输出第一项 (retrun true を使用) 下一遍历
に入る  


<頭>



<スクリプト>
 
var myArray=["skipThis", "dothis", "andThis"];
$.each(myArray, function(index, value) {
if (インデックス == 0) {
true を返します。 // 通常の for ループの「Continue」と同等
}
// それ以外のことを行う…
アラート (インデックス「:」値);
});
 



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。