如何通过构建字符串动态访问变量
How to access variables dynamically by building a string
希望实现这样的目标:
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";
当我尝试这个时,它不适合我,样式不应用。我怎样才能动态地做到这一点呢
编辑:我有一系列的else if来选择字体文本,这取决于哪个团队被选中。我想创建这样的变量:
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 if并清理我的代码:
使用如下对象:
var colors = {
firstColor: "red",
secondColor: "blue"
};
div.style.backgroundColor = colors[number+"Color"];
用户 eval 方法:
//Changes background to red:
div.style.backgroundColor = eval(number+"Color");
//Changes background to blue:
div.style.backgroundColor = eval(number2+"Color");
你需要这样的东西吗?
$('div').css('background-color', firstColor);
编辑
那么你需要这个:
var colors = {
'first' = 'red',
'second' = 'blue'
}
var myColor = colors['first'];
试试这样:
var colors = {
"liverpool":"red",
"barcelona":"green"
};
// Assume you have team = "liverpool"
div.style.backgroundColor = colors[team];
因此,根据团队的不同,颜色将被应用。
JavaScript eval()函数可以帮助您…
//Changes background to red:
div.style.backgroundColor = eval(number+"Color");
相关文章:
- 存储$http如何从$http函数(Angularjs)外部获取可访问变量中的响应
- 查询后websql成功回调无法访问变量
- 无法访问变量
- 从ajax调用成功内部访问变量
- 从子弹出子窗口访问变量
- 下划线模板无法访问变量
- Meteor Iron路由器通过[data]vs[params]访问变量
- CanvasJS-访问变量-访问属性toString的权限被拒绝
- 如何从嵌套函数中访问变量
- 在<%%中定义的访问变量>从<脚本></脚本>
- 自提交表单访问变量javascript
- 如何访问变量
- 稍后在链中访问变量
- 在 Javascript 中访问变量
- 在方法调用对象之外访问变量而不使它们全局化(可能吗?
- 如何从函数/实例外部访问变量
- 从另一个脚本源访问变量
- Meteor:跨所有 Meteor.method的访问变量
- 每次加载页面时,火狐附加组件访问变量
- 在另一个函数中访问变量,返回未定义的 - JavaScript