У меня есть набор наборов данных, привязанных к некоторым промежуткам, которые я пытаюсь выполнить, но продолжаю получать ошибку: dials.js:238 Uncaught TypeError: Cannot read property 'percentages' of undefined
.Javascript for loop Uncaught TypeError из атрибутов данных
Моя пролетное строение выглядит следующим образом:
<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>
My 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 является ошибкой и заканчивается, поэтому остальные данные не будут заполняться.
Отлично. Спасибо, это сводило меня с ума. – Ezra