-1

特定のデータ プロパティが要素に存在し、それがオブジェクトであることがわかっている場合、そのデータ オブジェクトの新しいプロパティとして何かを保存するにはどうすればよいですか?

たとえば、次の div があります。

<div id="theDiv" data-test1="{string: 'test 1 data'}"></div>

そして、私は次のようにデータを設定しようとしています:

div.data(["test1"]["number"], 1);

しかし、それは私をどこにも連れて行っていません。そしてdiv.data(["test1"]["number"]) = 1;、代入エラーで左辺を取得します。

http://jsfiddle.net/VM8VW/

4

1 に答える 1

5

値を取得してから再保存する必要があります。

div.data('test1', function(prev) {
  prev.number = 1;
  return prev;
}(div.data('test1')));

これを行うだけでおそらく安全です:

div.data('test1').number = 1;

しかし、そのようなことは私にウィリーを与えます。

編集— jQuery に JSON をそのまま理解させたい場合は、有効である必要があります。

<div id="theDiv" data-test1='{"string": "test 1 data"}'></div>

二重引用符のみ。プロパティ名も引用符で囲む必要があります。

于 2013-07-17T21:27:57.477 に答える