为了账号安全,请及时绑定邮箱和手机立即绑定

从 DIV 元素获取图形数据

从 DIV 元素获取图形数据

千巷猫影 2023-10-14 11:25:58
我使用Chart.js,我想从 DIV 元素内的属性中提取数据。我可以在data-gpget和中获取数据 data-gpret。它写入控制台,但不将其视为“数据”数据。data: getATT('#graph3','data-gpval')这可能data: getATT('#graph3','data-gpret') 是什么原因?我缺少什么?谢谢。<div id="graph3" data-gpget="[28,12,14,27,11]" data-gpret="[21,64,32,73,76]">   <canvas id="js-chartjs-earnings"></canvas></div>JS:function getATT(id,value) {   return $(id).attr(value);}return e = a, t = [{                key: "initCharts", value: function () {Chart.defaults.scale.gridLines.color = "transparent", Chart.defaults.scale.gridLines.zeroLineColor = "transparent", Chart.defaults.scale.ticks.beginAtZero = !0, Chart.defaults.global.elements.line.borderWidth = 0, Chart.defaults.global.elements.point.radius = 0, Chart.defaults.global.elements.point.hoverRadius = 0, Chart.defaults.global.tooltips.cornerRadius = 3, Chart.defaults.global.legend.labels.boxWidth = 12;                    var r, a = jQuery(".js-chartjs-earnings");                    r = {                        labels: ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"],                        datasets: [{                            label: "GETTING",                            fill: !0,                             data: getATT('#graph3','data-gpget')                        }, {                            label: "RETURNS",                            fill: !0,                            data: getATT('#graph3','data-gpret')                        }]                    },
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

该attr方法将始终返回一个字符串。

尝试使用该data方法代替...


return $(id).data(value);

data-只需确保从属性名称中删除前缀即可。


请参阅/运行以下示例...


var testATT = getATT('#graph3','data-gpget');

var testData = getData('#graph3','gpget');

console.log(typeof testATT, testATT);

console.log(typeof testData, testData);


function getData(id,value) {

   return $(id).data(value);

}

function getATT(id,value) {

   return $(id).attr(value);

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="graph3" data-gpget="[28,12,14,27,11]" data-gpret="[21,64,32,73,76]"> 

  <canvas id="js-chartjs-earnings"></canvas>

</div>


查看完整回答
反对 回复 2023-10-14
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信