jQuery dataとattrで値が変わる

またしてもjQueryネタ。

<div id="data1" data-value="0100"></div>
<div id="data2" data-value="0x01"></div>

っていう要素があるとする。
この要素のdata-valueを取得する方法によって、値が変わってしまって困ることがある。

$("#data1").data('value');
// -> 100 になる

$("#data1").attr('data-value');
// -> "0100" になる

$("#data2").data('value');
// -> 1 になる

$("#data2").attr('data-value');
// -> "0x01" になる

$().data()で取得したときに変だったら、$().attr()で取得してしまおう。

タイトルとURLをコピーしました