配列とオブジェクトを用意します。
配列は、繰り返しながら対応するidを持つdiv要素に、テキストとして自分のidを入れていきます。但し、ループ中に"four"が出てきた場合は処理を中断します。
オブジェクトは、KEYと同じidを持つ要素に、値を追記していきます。
Utilities/API/jQuery
jQuery.each(object, callback)
配列/オブジェクトを問わずに汎用的に用いることができる、繰り返し処理用の関数です。
この関数は、jQueryオブジェクトのプロトタイプに実装されている $().each() とは異なります。こちらは、引数で渡した単なる配列やjQueryでないオブジェクトも繰り返し操作することができます。
コールバック関数は2つの引数を持ちます。
1番目はオブジェクトであればハッシュKEY、配列であればインデックスを受け取ります。
2番目には、値が受け渡されます。
繰り返し処理中にループを抜けたい場合(一般的なループ処理で言うところのbreak)、コールバック関数でfalseを返すことで実装できます。それ以外の値を返した場合は、無視されます。
この関数は、jQueryオブジェクトのプロトタイプに実装されている $().each() とは異なります。こちらは、引数で渡した単なる配列やjQueryでないオブジェクトも繰り返し操作することができます。
コールバック関数は2つの引数を持ちます。
1番目はオブジェクトであればハッシュKEY、配列であればインデックスを受け取ります。
2番目には、値が受け渡されます。
繰り返し処理中にループを抜けたい場合(一般的なループ処理で言うところのbreak)、コールバック関数でfalseを返すことで実装できます。それ以外の値を返した場合は、無視されます。
サンプル
サンプル1
<div id="one"></div> <div id="two"></div> <div id="three"></div> <div id="four"></div> <div id="five"></div>
var arr = [ "one", "two", "three", "four", "five" ]; var obj = { one:1, two:2, three:3, four:4, five:5 }; jQuery.each(arr, function() { $("#" + this).text("My id is " + this + "."); return (this != "four"); // will stop running to skip "five" }); jQuery.each(obj, function(i, val) { $("#" + i).append(document.createTextNode(" - " + val)); });
[全コードを表示]
[実行結果を単体で表示]