我尝试使用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;">
如果data-contents-xx
我有很多,我必须将这些数据转换为数组数组。
我的功能将数据视为:
var contents = [
[x, y],
[x,y]
];
所以我必须处理我的数据属性以拥有一个数组数组,其中每个子数组都是几个data-contents-x
如何序列化我的数据属性?
答案 0 :(得分:0)
JQuery方法.data()将所有数据对象拉入一个key:value对数组。使用您的元素名称:
$('.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/
在小提琴中播放代码时,它不起作用。但是,当我摆脱第二个连字符时,它按预期工作。