javascript - 在 Javascript 中使用方括号来连接事物?

标签 javascript jquery css concatenation square-bracket

有人知道为什么这不起作用吗?

$('#screen').css({
  'background-image': [bg_num == 1 ? 'josh' : 'jessi'] + '_background.jpg',
  'background-color': 'red'
 });

背景颜色已设置,但图像尚未设置。

我还没有真正练习过在 Javascript 中使用方括号来完成这种事情。如果我做错了什么,有人有提示吗?或者没有很好的解释它们的用途?

编辑:为了清楚起见,检查本身实际上正在发生,因为如果我在 console.log() 中执行相同的操作,则输出“josh_background.jpg”就好了。它只是没有采用这个 css 设置功能。<​​/p>

最佳答案

编辑:

您所做的是创建一个值为 'josh''jessi' 的数组文字,然后连接 '_background.jpg' > 到它上面,这样它在技术上就可以工作。

问题是您缺少 background-image 值的 'url()' 部分。

'background-image': 'url(' + (bg_num == 1 ? 'josh' : 'jessi') + '_background.jpg)',

...但您仍然应该使用 () 进行分组,而不是构造数组。


原始答案:

使用圆括号代替方括号进行分组:

'background-image': (bg_num == 1 ? 'josh' : 'jessi') + '_background.jpg',

方括号在 JavaScript 中的唯一用途是获取/设置对象的属性,或创建数组文字:

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

...哦,它们当然可以在正则表达式语法中使用...

关于javascript - 在 Javascript 中使用方括号来连接事物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4672943/

相关文章:

html - 如何 "get rid of"portview内元素的底部边框(容器溢出-y滚动)也有边框

javascript - setInterval 的最大延迟是多少?

javascript - 如何使用 jQuery $.extend(obj1, obj2)

javascript - JS : IF url from address equals, 发布到多个 div

jquery - 使用 jQuery $this 定位单个 div

php - 使用 PHP/JS/MySQL 进行轮询的简单/高效方法

css - 占用整个页面,而不仅仅是窗口高度

javascript - Google Maps API 更改了我的字体系列

javascript - 如何手动调用Backbone.js View 的方法

javascript - D3 CSV导入排序功能展示