我有一些数据集附加到某些跨度,我试图循环但仍然收到错误:dials.js:238 Uncaught TypeError: Cannot read property 'percentages' of undefined
。
我的跨度结构如下:
<span class="dial rent"
data-name="Rent"
data-value="56"
data-marker="40"
data-min="0"
data-max="100"
data-percentages="0.25, 1">
</span>
我的JS是:
var dials = document.getElementsByClassName('dial');
function createGauges() {
for (var key in dials) {
var data = dials[key].dataset;
var percent = data.percentages.split(',').map(Number);
console.log(percent);
newDial(data.name, data.value, data.marker, data.min, data.max, percent);
}
}
我的数据输出结构如下所示:
DOMStringMap {name: "Cost of goods", value: "23", marker: "20", min: "0", max: "100"…}
marker:"20"
max:"100"
min:"0"
name:"Cost of goods"
percentages:"0.3, 1"
value:"23"
我很难过。当我记录percent
变量时,我正在获取正确的数据并将其输出到我的D3图表。但是JS错误输出并终止,因此剩下的数据不会填充。
答案 0 :(得分:3)
实际上for
循环遍历对象的键。在你的情况下,for循环遍历["0", "length", "item", "namedItem"]
的{{1}}个键。所以只有有效的是dials
。看看钥匙
0