希望实现这样的目标:
number = "first";
number2 = "second";
var firstColor = "red";
var secondColor = "blue";
//Changes background to red:
div.style.backgroundColor = number+"Color";
//Changes background to blue:
div.style.backgroundColor = number2+"Color";
当我尝试这个时,它对我不起作用,并且不应用样式。 我该怎么做动态。
编辑:
我有一系列其他ifs来选择字体文本,具体取决于所选的团队。 我想创建这样的变量:
liverpoolColor = "red";
else if(team == "liverpool"){
for (var x = 0; x < areas.length; x++){
//Then change the color dynamically like this:
areas[x].style.color = team+"Color";
}
}
这样我可以完全删除else ifs并清理我的代码:
答案 0 :(得分:1)
使用这样的对象:
var colors = {
firstColor: "red",
secondColor: "blue"
};
div.style.backgroundColor = colors[number+"Color"];
答案 1 :(得分:1)
用户 eval 这样的方法:
//Changes background to red:
div.style.backgroundColor = eval(number+"Color");
//Changes background to blue:
div.style.backgroundColor = eval(number2+"Color");
答案 2 :(得分:0)
你需要这样的东西吗?
$('div').css('background-color', firstColor);
修改强>
然后你需要这个:
var colors = {
'first' = 'red',
'second' = 'blue'
}
var myColor = colors['first'];
答案 3 :(得分:0)
尝试这样的事情:
var colors = {
"liverpool":"red",
"barcelona":"green"
};
// Assume you have team = "liverpool"
div.style.backgroundColor = colors[team];
因此,视团队而定,颜色将被应用。
答案 4 :(得分:-4)
JavaScript eval()函数可以帮助...
//Changes background to red:
div.style.backgroundColor = eval(number+"Color");