Edited at

htmlタグに独自の属性をマークアップする

More than 3 years have passed since last update.

data属性は「data-」以降に文字列を指定することで設定できる。たとえば「data-hoge」に「fuga」という値を設定する場合はマークアップは次のようになる。


基本的な使い方

<div data-hoge="fuga">テスト</div>

jQueryでこの「fuga」という値を取り出すには、dataメソッドの引数に「data-」以降に設定した文字列を指定する。

$('div').data('hoge');


複数のdata属性を設定

data属性は同じタグに複数設定することもできる。

<div data-hoge="fuga" data-yasai="にんじん" data-number="1">太郎</div>

$('div').data('hoge');

$('div').data('yasai');
$('div').data('number');


一つのdata属性に複数の値を設定

オブジェクトを入れれば一つのdata属性に複数の値を設定できる。

<div data-hoge='{"yasai":"にんじん", "number":"1"}'>太郎</div>

jQueryではdata属性の後にオブジェクト名を指定する。

$('div').data('hoge').yasai; //にんじん

$('div').data('role').number; //1


jQueryでdata属性を設定する

逆にjQueryからdata属性を設定する場合は普通に「attr」メソッドを使用する。

<div>ほげほげ</div>

$('div').attr({ 

'data-hoge': 'fuga',
'data-option': '{"yasai":"にんじん", "number":"1"}'
});