【问题标题】:Set CSS for dynamic element CoffeeScript为动态元素 CoffeeScript 设置 CSS
【发布时间】:2015-06-04 08:07:23
【问题描述】:

我正在尝试编写一个代码,为单击链接时添加的一些动态元素设置 CSS。

根据 CoffeeScript 教程中的示例代码,它应该使用以下代码。

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

这里temp是一个可变整数。 我尝试使用静态值,例如

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

但它会返回类似 .css 的内容,而不是函数错误

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

【问题讨论】:

  • 奇怪。我的编译器将您的示例编译为$('.box_' + temp).css('background', 'white');$('.box_1').css('background', 'white');。 (版本 1.8.0)
  • 插入一些括号来澄清你的意图有什么问题? $(".box_#{temp}").css('background', 'white')$(".box_#{temp}").css 'background', 'white' 是非常好的 CoffeeScript。代码应该是可读的,如果你必须花费超过一秒钟的时间来解析语法,那么代码就会被有效地破坏。
  • 即使使用静态值 .box_1 也无法正常工作
  • official CoffeeScript 不同意你的观点。我能够得到你的结果的唯一方法是把它放在一行上。

标签: css coffeescript


【解决方案1】:

只需添加括号即可消除歧义并免去您的麻烦。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    • 2012-06-23
    • 2015-03-31
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多