javascript - 将字符串从数据属性插入数组

标签 javascript jquery html arrays push

Original Example

Failed Example

我打算使用来自 this site 的条形图插件.如何将每个 div.get 的数据属性中的字符串推送到数组 arrayOfData 中?

例如:

<div class="get" data-stats="10.3,'Jan','#222222'"></div>
<div class="get" data-stats="15.2,'Feb','#7D252B'"></div>

我想将 data-stats 中的字符串推送到这样的数组中:

arrayOfData = new Array(
 [10.3,'Jan','#222222'],
 [15.2,'Feb','#7D252B']
);

push 是这样做的正确方法吗?在失败的示例中,我根本无法将字符串传递到数组中。任何帮助,将不胜感激。

HTML:

<div id="exampleSimple" style="width: 400px; height: 300px; position: relative; text-align: center;"></div>

<div class="get" data-stats="10.3,'Jan','#222222'"></div>
<div class="get" data-stats="15.2,'Feb','#7D252B'"></div>
<div class="get" data-stats="13.1,'Mar','#EB9781'"></div>
<div class="get" data-stats="16.3,'Apr','#FFD2B5'"></div>
<div class="get" data-stats="14.5,'May','#4A4147'"></div>

J查询:

$(function() {
  var arrayOfData = [];
  $('.get').each(function(get){
   var getstats = $(this).data('stats');  
      arrayOfData.push(getstats);
   });

  $('#exampleSimple').jqbargraph({
     data: arrayOfData 
  });
});

最佳答案

通过逗号分隔符拆分状态数据,您需要从第二个和第三个数组项中删除单引号才能正确应用颜色

DEMO

$(function() {
    var arrayOfData = [];
    $('.get').each(function(get){
        var getstats = $(this).data('stats').split(',');

        getstats[1] = getstats[1].replace(/'/g,'');
        getstats[2] = getstats[2].replace(/'/g,'');

        arrayOfData.push(getstats);
    });

    $('#exampleSimple').jqbargraph({
        data: arrayOfData 
    });
});

关于javascript - 将字符串从数据属性插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24228347/

相关文章:

javascript - 使用 Polymer 将纸标签绑定(bind)到核心页面

javascript - 返回值之前等待异步回调

javascript - 如何使用 jQuery.map 递归修改嵌套对象

html - 如何在使用 CSS 或 javascript/jquery 打印文档时添加页码

css - 如何在不使用float的情况下让div填充剩余空间?

javascript - 使用 jquery 按索引定位 child

javascript - jquery中如何检查元素

php - div 展开和折叠在我的 PHP 代码中不起作用

javascript - 使用 $.each 函数缩短 js 脚本

html - 为什么 grid-template-rows 轨道模式不像 grid-template-columns 那样重复