2014年03月

jQuery の data() 等のダッシュ(-)を含むキーの取り扱いの違い

jQuery.data()jQuery.fn.data()を 使うと要素(やオブジェクト)ごとに Key-Value の形でデータを 保存することが出来ます。 また、jQuery.fn.data()では HTML 属性 data-* の値を取得することができます。 この属性 data-* まわりの処理のためか、 キーにダッシュ(-)が含まれている場合、 処理に一貫性が無くなり、1.x 系と 2.x 系で振る舞いが 異なる箇所も出てきます。

そのようなわけで、キーにダッシュが含まれている場合に どのような振る舞いになるのかを調べてみましたが、 キーにダッシュを含めなければいい話なので、 元々キーにダッシュを含めていない人は もうこれ以降読む必要が無いかもしれません。

主に jQuery 2.1.0 と 1.11.0 (あとおざなりに 2.0.3, 1.10.2, 1.9.1) を使って調べたので、他のバージョンでは 当てはまらないことがあるかもしれませんのでご注意下さい。