我試圖從多個div元素獲取數據屬性的值。元件被捕獲到使用。queryAlectorAll()返回的元素上的.getAttribute()方法
querySelectorAll()
我得到的誤差的變量時通過我包含元素,並使用的getAttribute()方法可變環:
<div id="container">
<div class="box" data-speed="2" id="one"></div>
<div class="box" data-speed="3" id="two"></div>
<div class="box" data-speed="4" id="three"></div>
<div class="box" data-speed="5" id="four"></div>
<div class="box" data-speed="6" id="five"></div>
</div>
JS:
(function() {
var boxes = document.getElementsByClassName("box");
for (var i = 0; i < boxes.length; i++) {
var r = Math.floor((Math.random() * 254) + 1);
boxes[i].style.background = "rgba(" + r + "," + i*30 + "," + i*45 + ", 1)";
}
})();
var divArray = [];
var divs = document.querySelectorAll(".box");
for (i = 0; i <= divs.length; i++) {
console.log(divs[i]);
var speed = parseInt(divs[i].getAttribute("data-speed"));
};
的jsfiddle https://jsfiddle.net/kshatriiya/L8xsvzL1/1/
當我
console.log(divs[i])
它顯示的元素,我不知道爲什麼我不能使用屬性的方法就可以了。
任何指針將非常感激!
「我收到一個錯誤」 - 什麼錯誤? – Quentin
對不起,我更新了我的jsfiddle,它指向舊的: 錯誤是「Uncaught TypeError:無法讀取屬性'getAttribute'未定義」 – kshatriiya