2016-01-13 88 views
1

我的代码中有以下行。它是由我的IDE生成的。基本上这条线由一个作为动画边栏的div组成。侧栏的宽度由'v'参数表示(在此设置为85)。如何使用Javascript更改JSON对象

<div id="sidebar" class="inner-element uib_w_5 uib_sidebar rightbar bar-bg thumb-bg bar-gutter" data-uib="layout/right_sidebar" data-ver="1" data-anim="{'style':'overlap', 'v':85, 'side':'right', 'dur':200}">

我想使用的脚本标记为 'V' 的值更改为250。

我试图插入以下脚本来覆盖上面的数据动画属性,但它没有工作。

<script> 
 
document.getElementById("sidebar").jsonObj['data-anim'] = "{'style':'overlap', 'v':250, 'side':'right', 'dur':200}" 
 
</script>

任何想法有什么错我的<script>标签?

回答

1

sidebar元素的使用setAttribute

应该

var sidebar = document.getElementById("sidebar"); 
sidebar.setAttribute("data-anim" , "{'style':'overlap', 'v':250, 'side':'right', 'dur':200}"); 

读了this setAttribute documentation以及

document.getElementById("sidebar").setAttribute("data-anim", "{'style':'overlap', 'v':250, 'side':'right', 'dur':200}"); 
 

 
var abc = document.getElementById("sidebar").getAttribute("data-anim"); 
 

 
alert(abc);
<div id="sidebar" class="inner-element uib_w_5 uib_sidebar rightbar bar-bg thumb-bg bar-gutter" data-uib="layout/right_sidebar" data-ver="1" data-anim="{'style':'overlap', 'v':85, 'side':'right', 'dur':200}">

+0

@ozil感谢您提供更多信息。 – gurvinder372

0

我找到了一个关于我自己的问题。

这里是<script>,将工作:

的document.getElementById( “栏”)dataset.anim =“{ '风格': '重叠', 'V':250, '侧':”右','dur':200}“;