$.data()
任意のデータを要素に紐付けて、取得・設定する仕組みを提供します。 このメソッドは下位層で使用されるメソッドです。 通常は.data() を使用することをお勧めします。
- $.data( element, key, value ) 1.2.3追加
- $.data( element, key ) 1.2.3追加
- $.data( element ) 1.4追加
- デモ
$.data( element, key, value ) 1.2.3追加
要素に対して、キーと格納するデータを指定します。戻り値は格納したデータです。
引数 | 説明 |
---|---|
element | データを紐付ける要素を指定します。 |
key | 要素に紐付けるデータのキーとなる文字列を指定します。 |
value | 格納するデータを指定します。 このデータは配列、オブジェクトを含むいくつかのjavaScriptの型の値を指定することが可能です。 |
$.data(document.body, 'foo', 52);
$.data(document.body, 'bar', 'test');
$.data( element, key ) 1.2.3追加
要素から指定したキーで格納されているデータを取得します。
引数 | 説明 |
---|---|
element | 取得したいデータを格納している要素を指定します。 |
key | 要素に紐付いているキーを指定して、データを取得します。 |
alert($.data( document.body, 'foo' ));
$.data( element ) 1.4追加
要素に格納されている全てのデータをキーと値の組み合わせのオブジェクトで取得します。
引数 | 説明 |
---|---|
element | 取得したいデータを格納している要素を指定します。 |
alert($.data( document.body ));
デモ
DIV要素にデータを紐付け、その後取り出して出力しています。
<!DOCTYPE html>
<html>
<head>
<style>
div { color:blue; }
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div>
DIV要素に格納された値は
<span></span>
と
<span></span>
です。
</div>
<script>var div = $("div")[0];
jQuery.data(div, "test", { first: 16, last: "pizza!" });
$("span:first").text(jQuery.data(div, "test").first);
$("span:last").text(jQuery.data(div, "test").last);
</script>
</body>
</html>
DIV要素にデータ名"blah"を紐付け、ボタンを押すことで値の格納、出力、削除を行います。
<!DOCTYPE html>
<html>
<head>
<style>
div { margin:5px; background:yellow; }
button { margin:5px; font-size:14px; }
p { margin:5px; color:blue; }
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<div>データが紐付けられるDIV</div>
<button>値を出力</button>
<button>値"hello"をセット</button>
<button>値86をセット</button>
<button>値を削除</button>
<p>DIV要素のデータ"blah":<span>?</span></p>
<script>
$("button").click(function(e) {
var value, div = $("div")[0];
switch ($("button").index(this)) {
case 0 :
value = $.data(div, "blah");
break;
case 1 :
jQuery.data(div, "blah", "hello");
value = "(値 hello を格納)";
break;
case 2 :
jQuery.data(div, "blah", 86);
value = "(値 86 を格納)";
break;
case 3 :
jQuery.removeData(div, "blah");
value = "(値を削除!)";
break;
}
$("span").text("" + value);
});
</script>
</body>
</html>
© 2010 - 2017 STUDIO KINGDOM