问题描述
我在这方面还很陌生,希望有所帮助。
比方说,我有一个多维数组,用于收集btnID,颜色和不透明度。 我有26个标签为btn1到btn26的按钮,如果按钮ID匹配,我想将样式更改为styleSet。
我知道我必须使用循环。因此,这就是我的想法以及需要帮助的地方。
var styleSet = [['btn5','green',.7],['btn11','red',.3],['btn18','blue',.7]];
for (var i = 0; i < styleSet.length; i++) {
document.getElementById(styleSet[i][0]).setAttribute('color',styleSet[i][1],'opacity',styleSet[i][2]);
}
解决方法
首先,如果要设置样式,则必须使用style
。并且我还添加了一个验证,以防某些IDs
不存在。
var styleSet = [['btn5','green',.7],['btn11','red',.3],['btn18','blue',.7]];
for (var i = 0; i < styleSet.length; i++) {
if(document.getElementById(styleSet[i][0])){
document.getElementById(styleSet[i][0]).style.color = styleSet[i][1];
document.getElementById(styleSet[i][0]).style.opacity = styleSet[i][2]
}
}
<button id='btn11'>
testButton
</button>
<button id='btn5'>
testButton2
</button>