each() メソッドを使用すると、DOM ループ構造を簡潔にし、エラーが発生しにくくなります。 each() 関数は非常に強力なトラバーサル関数をカプセル化しており、1 次元配列、多次元配列、DOM、JSON などをトラバースできます。
JavaScript は私たちの作業負荷を大幅に軽減します。 それぞれの一般的に使用される用途をいくつか挙げます
1。それぞれは 1 次元配列を処理します
var arr1 = [ "aaa", "bbb", "ccc" ]; $.each(arr1, function(i,val){ alert(i); alert(val); });
2.それぞれの処理
var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]
$.each(arr, function(i, item){
alert(i);
alert(item);
});
alert(i) は 0、1、2 を出力します。この 2 次元配列には 3 つの配列要素が含まれているためです。
alert(item) は For [' を出力しますa', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']
これら2つの配列処理後若干変更されており、
var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']] $.each(arr, function(i, item){ $.each(item,function(j,val){ alert(j); alert(val); }); });
alert(j)は0,1,2,0,1,2,0,1,2として出力されます
alert(val)はa,aa,aaa,bとして出力されます、 bb、 bbb、 c、 cc、 ccc
それぞれが json データを処理します。これはそれぞれさらに強力で、すべての属性をループできます
var obj = { one:1, two:2, three:3};
each(obj, function(key, val) {
alert(key);
alert(val);
});
ここでキーが数値ではなく属性であるのはなぜでしょうか。json 形式は順序付けされていない属性値のセットであるため、どうやってそれが存在するのでしょうか。毛糸の布?
そして、この val は obj[key] と同等です
ecah は dom 要素を処理します。ここでは例として入力フォーム要素が使用されます。
あなたのdomにこのようなコードがある場合
<input name="aaa" type="hidden" value="111" /> <input name="bbb" type="hidden" value="222" /> <input name="ccc" type="hidden" value="333" /> <input name="ddd" type="hidden" value="444"/>
$.each($("input:hidden"), function(i,val){ alert(val); alert(i); alert(val.name); alert(val.value); });
alert(i) は 0、1、2、3 を出力します
alert(val.name); は aaa、bbb、ccc、ddd を出力します、this.name を使用すると同じ結果が出力されます
jquery が自動的に判断し、その判断結果に基づいて apply または call メソッドを使用します。 fn の実装では、このポインターを直接使用して、配列またはオブジェクトのサブ要素を参照
1. Selector + traversal
$('div').each(function (i){ i はインデックス値です これは、各dom オブジェクトを取得して走査することを意味します
2. Selector + traversal$('div').each(function (index,domEle){ Index はインデックス値です domEle は各 dom オブジェクトを取得して走査することを意味します});3. より適用可能な走査方法1) まずコレクション オブジェクトを取得します2) コレクション オブジェクトの各要素を走査しますvar d=$("div");$。 (d,function (index,domEle){ d は走査するコレクションです Index はインデックス値です domEle は各 dom ペアを走査することを意味します});
以上がjquery の each() の概要とそのトラバーサル メソッドの詳細な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。