2015-12-04 63 views
0

目前,我的HTML代码示例如下所示:如何更改的属性值里面的数据属性

<div class="jbar" data-init="jbar" data-jbar='{ 
    "message" : "Test", 
    "state" : "open" 
}'></div> 

我怎样才能改变这种情况下的state价值closed

+0

好,存储,因为它是,它是一个字符串,而不是一个对象。你必须解析它,然后改变它,然后再存储它。 – Draco18s

+0

谢谢你的帮助。如果你能给我一个例子说明如何去做,或者有什么更简单的方法来实现我的目标,那该多好? –

回答

0

jQuery的会看起来像

var t=JSON.parse($('.jbar').attr('data-jbar')); 
//or JSON.parse($('.jbar').data('jbar')); 
t.state='closed'; 
$('.jbar').attr('data-jbar',JSON.stringify(t)); 
//or  .data('jbar',JSON.stringify(t)); 
+0

你好,我试过你的解决方案,但它仍然显示'open'。这里是小提琴:http://jsfiddle.net/bb9vnzw2/ –

+0

@VuiLaChinh你的小提琴没有'$('。jbar')。attr('data-jbar',JSON.stringify(t)); '部分。 –

+0

这里是一个小提琴设置'attr' http://jsfiddle.net/bb9vnzw2/3/像@Jason_P提到 – depperm