1. ホーム
  2. javascript

[解決済み] jQuery .data() 属性に配列を渡す方法

2023-04-19 18:37:15

質問

サーバーサイドのjquery data attrubuteに非常に基本的な配列を渡したいのですが、どのようにすればよいのでしょうか?

<div data-stuff="['a','b','c']"></div>

という具合に、読み返します。

var stuff = $('div').data('stuff');

alert(stuff[0]);

なぜこれは'a'ではなく'['を警告するように見えるのでしょうか(JSfiddleのリンクを参照)。

JSFiddleのリンク: http://jsfiddle.net/ktw4v/3/

どのように解決するのですか?

変数を文字列として扱っていて、その0番目の要素が [ .

この現象は、文字列が 有効な JSON であり、シングルクォートではなくダブルクォートを文字列の区切りとして使用しなければならないためです。 その場合、属性値全体をシングルクォートで区切らなければなりません。

引用符を修正すると、元のコードが動作するようになります ( http://jsfiddle.net/ktw4v/12/ )

<div data-stuff='["a","b","c"]'> </div>

var stuff = $('div').data('stuff');

jQueryはdata属性に有効なJSONを見つけると、次のようにします。 を自動的に解凍します。 .