簡體   English   中英

使用方括號連接Javascript中的內容?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM