处理数据属性:如何序列化



我试图用jquery插件创建和HTML图表,我使用HTML5数据属性将数据从我的rails应用程序传递到jquery函数。

我的html,经过ruby哈希转换后,是这样的:

<div class="chart" data-contents-01="0" data-contents-02="1" data-contents-03="3" data-contents-04="0" data-contents-05="0" data-contents-06="0" data-contents-07="0" data-contents-08="0" data-contents-09="0" data-contents-10="0" data-contents-11="0" data-contents-12="0" data-contents-13="0" data-contents-14="0" data-contents-15="0" data-contents-16="0" data-contents-17="0" data-contents-18="0" data-contents-19="0" data-contents-20="0" data-contents-21="0" data-contents-22="0" data-contents-23="2" data-contents-24="1" data-contents-25="4" data-contents-26="0" data-contents-27="0" data-contents-28="0" data-contents-29="2" data-contents-30="2" data-contents-31="0" id="chart_2" style="padding: 0px; position: relative;">

我有很多if data-contents-xx,我必须把这些数据转换成数组的数组。

我的函数取数据为:

 var contents = [
                    [x, y],
                    [x,y]
                ];

所以我必须处理我的数据属性以得到数组的数组,其中每个子数组是一对data-content -x

如何序列化我的数据属性?

JQuery方法。data()将把所有数据对象拉到一个键值对数组中。元素名称:

$('.chart').data();

例如:

<div class="chart" data-foo="1" data-bar="2"></div>

使用:

var data = $('.chart').data();
for(var i in data){
    console.log("data attribute - " + i + ":" + data[i]);
}

小提琴在这里:http://jsfiddle.net/WVfSg/260/

在摆弄你的代码时,它不起作用。但是,当我去掉第二个连字符时,它会像预期的那样工作。

最新更新