Attributes/API/jQuery
attr(key,fn)
値の変わりにコールバック関数を設定し、全ての要素に属性を設定する。
上記の用途で値として関数の戻り値を入れるのではなく、関数ポインタを渡してやることで属性を設定しながら関数がコールバックされる形になる。
コールバック関数のスコープ内でのthisポインタは処理中の要素そのものになる。また、要素のインデックスを取りたい場合は第一引数で渡される配列の[0]を取得すること。
上記の用途で値として関数の戻り値を入れるのではなく、関数ポインタを渡してやることで属性を設定しながら関数がコールバックされる形になる。
コールバック関数のスコープ内でのthisポインタは処理中の要素そのものになる。また、要素のインデックスを取りたい場合は第一引数で渡される配列の[0]を取得すること。
- key
- String属性の名前
- fn
- Function設定したい値を返すコールバック関数。スコープ内でのthisポインタは処理中の要素。引数は処理中の要素のインデックス。
引数
戻り値
jQuery
jQueryオブジェクト
サンプル
サンプル1
全てのdiv要素に、順番に”div-id0”,”div-id1”,…,”div-id10”のようにユニークな値を付けていく。
<div>Zero-th <span></span></div> <div>First <span></span></div> <div>Second <span></span></div>
$("div").attr("id", function (arr) { return "div-id" + arr[0]; }) .each(function () { $("span", this).html("(ID = '<b>" + this.id + "</b>')"); });
[全コードを表示]
[実行結果を単体で表示]