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