2015-03-31 104 views
1

我正在嘗試編寫一個代碼,用於爲點擊鏈接時添加的某些動態元素設置CSS。爲動態元素CoffeeScript設置CSS

根據CoffeeScript教程中的示例代碼,它應該使用以下代碼。

temp = temp+1 
$ '.box_'+temp 
.css 'background', 'white' 

這裏temp是一個變量整數。 我與靜態值試圖像

$ '.box_1' 
.css 'background', 'white' 

但它返回像這樣用的CSS不是一個函數錯誤

$('.box_1'.css('left', 100)); 
+3

奇怪。我的編譯器將你的例子編譯爲'$('。box_'+ temp).css('background','white');'和'$('。box_1')。 '。 (版本1.8.0) – Amadan 2015-03-31 05:11:01

+2

拋出一些括號來澄清你的意圖有什麼不對? '$(「。box _#{temp}」).css('background','white')'或'$(「。box _#{temp}」).css'background','white''非常好CoffeeScript的。代碼應該是可讀的,如果你不得不花費超過一秒的時間解析語法,那麼代碼就會被破壞。 – 2015-03-31 05:31:39

+0

即使使用靜態值'.box_1',它也不能正常工作 – 2015-03-31 05:36:02

回答

4

只需加括號去除模糊和保存自己的頭痛。

temp = temp+1 
$('.box_'+temp) 
.css('background', 'white') 

性感的函數調用可選語法糖,不是必需的。你不應該使用語言功能,如果這樣做會使你的代碼不太清楚人類或機器(或在這種情況下,兩者!)