125*_*748 -1 javascript jquery jquery-data
如果我知道元素上存在某个数据属性并且它是一个对象,那么如何将某些东西存储为该数据对象的新属性?
例如,我有这个div:
<div id="theDiv" data-test1="{string: 'test 1 data'}"></div>
Run Code Online (Sandbox Code Playgroud)
我正在尝试像这样设置数据:
div.data(["test1"]["number"], 1);
Run Code Online (Sandbox Code Playgroud)
但这让我无处可去.而div.data(["test1"]["number"]) = 1;让我在分配错误左手侧.
您必须获取该值,然后重新保存它:
div.data('test1', function(prev) {
prev.number = 1;
return prev;
}(div.data('test1')));
Run Code Online (Sandbox Code Playgroud)
这样做可能是安全的:
div.data('test1').number = 1;
Run Code Online (Sandbox Code Playgroud)
但那种事情给了我一些意志力.
编辑 - 如果你想让jQuery理解你的JSON,它必须是有效的:
<div id="theDiv" data-test1='{"string": "test 1 data"}'></div>
Run Code Online (Sandbox Code Playgroud)
仅限双引号,还必须引用属性名称.