首页 > 解决方案 > 如果 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]);
  }

标签: javascriptarrayssetattribute

解决方案


首先,如果要设置样式,则必须使用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>


推荐阅读