javascript - 如何自动检测数组中的值并从另一个数组设置背景颜色

标签 javascript function scope

我有两个名为 arr_oarr_t 的数组

x = document.getElementsByClassName("div");     //simple div width and height is 100px and 100px
for (var i = 0 ; i < x.length ; i++ ){
   var arr_o = [one,two,three];                //classes name
   for (var j = 0 ; j < arr_o.length ; j++ ){
       var arr_t = ["blue","green","red"];     // background color value
       for (var l = 0 ; l < arr_t.length ; l++ ){
            if(x[i].classname === arr_o[j] ){
             x[i].style.backgroundColor = arr_t[l];
            }
       }
   }
}

所以我想制作一个 div 来自动检测类名并分别从两个数组中设置背景颜色

示例

如果类是one,那么div背景将为“blue”

如果类是two,那么div背景将为“绿色”

如果类是,那么div背景将为“红色”

我应该使用 forEach 循环吗?还有其他方法吗?

最佳答案

您可以使用对象和类名作为键,其中 document.getElementsByTagName .

var colors = {
    one: 'blue',
    two: 'green',
    three: 'red'
};

x = document.getElementsByTagName("div");     //simple div width and height is 100px and 100px
for (var i = 0 ; i < x.length ; i++ ){
    x[i].style.backgroundColor = colors[x[i].classname];
}

关于javascript - 如何自动检测数组中的值并从另一个数组设置背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41250205/

相关文章:

javascript - 编辑列表中每个 div 的样式属性

javascript - 主干创建集合然后查看 - 异步?

javascript - Angular 分页控制显示的页码

python - 函数后面的括号是什么意思

asp.net - ASP.Net 变量的范围

java - Alloy:一个紧凑的 Java 程序,用于执行不同的运行命令范围

Javascript 日期/时间字符串到 SQL 日期时间

c - 为什么我们不必调用C中的main函数?

c++ - getline(cin.name) 被跳过

javascript - 为什么 angularjs 作用域允许在初始化之前访问变量