2015-03-31 85 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') 

性感的函数调用可选语法糖,不是必需的。你不应该使用语言功能,如果这样做会使你的代码不太清楚人类或机器(或在这种情况下,两者!)