分配存储在www.example.com()中的对象的各个键jQuery.data

wn9m85ua  于 2023-03-17  发布在  jQuery
关注(0)|答案(2)|浏览(123)

我使用jQuery.data()方法将自定义数据存储在元素上。

<div id="mydiv" data-test='{"1":"apple", "2":"banana"}'>Custom data</div>

我知道可以使用以下命令访问存储在data-test中的对象的各个键

$('#mydiv').data('test')["1"]

但是这样重新分配****单独的键**可以吗?它可以工作,但是没有文档记录。其次,在使用浏览器的开发工具检查元素时,我仍然看到旧值,即本例中的“apple”。JSFiddle

$('#mydiv').data('test')["1"] = "pear"
np8igboo

np8igboo1#

使用.data()来设置一个值,在你检查元素时不会改变元素中的值,它会把数据存储在内部。如果你想把这些改变反映到DOM元素中,那么你应该像这样使用.attr()

$('#mydiv').data('test')["1"] = "pear"
  $('#mydiv').attr('data-test', JSON.stringify($('#mydiv').data('test')));

∮ ∮ ∮ ∮
检查该特定元素以验证更改。

vtwuwzda

vtwuwzda2#

试试这个

$('#mydiv').data('test')["1"] = "pear";
$('#mydiv').attr('data-test',function(_,attr){
   return JSON.stringify(attr);
});

相关问题