※jQuery1.5を使用しています。

data属性のマークアップ

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

html
<div data-role="hoge">太郎</div>

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

javascript
$('div').data('role');

簡単ですね。

複数のdata属性の設定

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

html
<div data-role="hoge" data-voice="こんにちワン" data-age="12">太郎</div>

複数でもjQueryの記述は変わらないですね。

javascript
$('div').data('role');
$('div').data('voice');
$('div').data('age');

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

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

html
<div data-role='{"voice":"こんにちワン", "age":"12"}'>太郎</div>

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

javascript
$('div').data('role').voice;
$('div').data('role').age;

jQueryでdata属性を設定する

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

html
<div>太郎</div>
javascript
$('div').attr({
'data-role': 'hoge',
'data-option': '{"voice":"こんにちワン", "age":"12"}'
});