千巷貓影
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條經驗 獲得超14個贊
該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
提交
取消