如何在data-attribute(HTML5)中设置JSON的属性

时间:2014-01-20 01:11:03

标签: javascript jquery json custom-data-attribute

我有以下元素:

<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}');

但是这需要同时设置“颜色”,我只想设置“价格”属性。

1 个答案:

答案 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/