我使用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>
添加回答
举报
0/150
提交
取消