我是一名初学者Javascripter,我想运行此脚本以随机更改框的背景色。这是我的JS:
var divs = document.getElementsByClassName("col-sm-3");
var innDivs = [];
colournumber = function() {
return(Math.random().toString(16) + '000000').slice(2, 8);
}
for (i=0;i<divs.length;i++) {
innDivs[i] = divs[i].getElementsByTagName("div");
innDivs[i].setAttribute("style","background-color:#"+colournumber());
}
但是我收到了无法在innDivs [i]上设置setAttribute的错误。有什么想法我该怎么做?
http://jsfiddle.net/w8gLqghz/
最佳答案
getElementsByTagName
为您提供元素列表。元素本身具有setAttribute
方法。
您必须遍历列表并设置每个元素的属性;
for (i=0;i<divs.length;i++) {
innDivs[i] = divs[i].getElementsByTagName("div");
for (j=0;j<innDivs[i].length;j++) {
innDivs[i][j].setAttribute("style","background-color:#"+colournumber());
}
}
http://jsfiddle.net/mowglisanu/w8gLqghz/5/