我有以下元素:
<div id="car" data-details='{ "color":"blue", "price":2000" }'></div>
我想使用jQuery或JS更改属性“price”:
请看看这个JSfiddle: http://jsfiddle.net/mLuz9/
我试过了:
$("#car").attr("data-details", '{"color" : "red", "price": 5000}');
但是这需要同时设置“颜色”,我只想设置“价格”属性。
答案 0 :(得分:1)
将数据属性中的JSON拉出变量,编辑变量,并使用更新后的变量重新设置属性。
这样的事情应该有效:
<div id="car" data-details='{ "color":"blue", "price":2000 }'></div>
// Pull the info from the data-details attribute into a variable called 'details'
var details = JSON.parse($('#car').attr('data-details'));
// Change the price property in our variable
details.price = 5000;
// Write the variable version of details back to the data-details
// attribute on the DOM element
$('#car').attr('data-details', JSON.stringify(details));
$("html").append($("#car").attr("data-details"));
小提琴的更新版本:http://jsfiddle.net/mLuz9/3/