如果divID与数组中的字符串匹配,如何将多维数组中的数据用于div样式?

问题描述

在这方面还很陌生,希望有所帮助。

比方说,我有一个多维数组,用于收集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>