[英]Using square brackets to concatenate things in Javascript?
有人知道为什么这行不通吗?
$('#screen').css({
'background-image': [bg_num == 1 ? 'josh' : 'jessi'] + '_background.jpg',
'background-color': 'red'
});
设置了背景色,但没有设置图像。
我实际上并没有太多练习在Javascript中使用方括号来完成这种事情。 如果我做错了任何人的提示? 还是对它们的使用没有很好的解释?
编辑:而且要清楚,检查本身实际上是在进行,因为如果我在console.log()中做同样的事情,则输出“ josh_background.jpg”就好了。 只是不使用此CSS设置功能。
编辑:
你这样做是创建一个数组文本与价值'josh'
或'jessi'
,然后串联'_background.jpg'
到它,所以它在技术上是可行的。
问题是您缺少background-image
值的'url()'
部分。
'background-image': 'url(' + (bg_num == 1 ? 'josh' : 'jessi') + '_background.jpg)',
...但是您仍应使用()
进行分组,而不是构造Array。
原始答案:
使用括号分组而不是使用方括号:
'background-image': (bg_num == 1 ? 'josh' : 'jessi') + '_background.jpg',
在javascript中,方括号的唯一用途是用于获取/设置对象的属性或创建Array文字:
var arr = []; // An Array literal
arr[10] = 'someArrValue'; // set index 10
var obj = {}; // A plain object literal
obj['prop'] = 'someObjValue'; // set the "prop" property
var key = 'prop2';
obj[key] = 'someOtherObjValue'; // set the property referenced in the "key" variable
...哦,他们当然在正则表达式语法中使用了...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.