element.datasetから得られるカスタムデータ属性の値はstringらしいのですが、jQueryの.data()は暗黙的に型変換を行ってしまうみたいです。
id="test"
data-str="hogefuga"
data-num="01234"
data-bool="true"
data-ary="[1,2,3]"
data-obj='{"foo":"bar"}'
これを取得する
var $elm = $('#test');
// string
$elm.data('str'); // 'hogefuga'
// number
$elm.data('num'); // 1234
// boolean
$elm.data('bool'); // true
// array
$elm.data('ary'); // [1,2,3]
// object
$elm.data('obj'); // {foo:'bar'}
こうなってしまいます。
そんなこんなで、springの@PathVariableをつかって取得してた値がundefinedになってコケまくってしまってました
ちくしょう!!
というわけで、こんなときは
.attr()を使いましょう
jQueryの$elm.data()で取得できる値は暗黙でstringから型変換される
id="test"
data-str="hogefuga"
data-num="01234"
data-bool="true"
data-ary="[1,2,3]"
data-obj='{"foo":"bar"}'
これを取得する
var $elm = $('#test');
// string
$elm.data('str'); // 'hogefuga'
// number
$elm.data('num'); // 1234
// boolean
$elm.data('bool'); // true
// array
$elm.data('ary'); // [1,2,3]
// object
$elm.data('obj'); // {foo:'bar'}
こうなってしまいます。
そんなこんなで、springの@PathVariableをつかって取得してた値がundefinedになってコケまくってしまってました
ちくしょう!!
というわけで、こんなときは
.attr()を使いましょう
jQueryの$elm.data()で取得できる値は暗黙でstringから型変換される