【发布时间】:2015-01-12 20:30:59
【问题描述】:
我正在尝试创建一个 HTML 小部件:
HTML:
<div>
<h1 class="title" data-bind="title">Title</h1>
<div>
<h1 id = "dc1" class="dc">DC1</h1>
</div>
<div>
<h1 id = "dc2" class="dc">DC2</h1>
</div>
<p class="updated-at" data-bind="updatedAtMessage"></p>
</div>
而且我需要能够在 CoffeeScript 中动态设置 id="dc1" 和 id="dc2" 元素的背景颜色。我打算通过添加一个具有背景颜色设置的类来做到这一点:
SCSS:
&.up {
background-color: green;
}
&.down {
background-color: red;
}
.dc {
background-color: orange;
font-size: 30px;
float: left;
width: 50%;
}
到目前为止,我已经设法设置了整个小部件背景,但没有设置上面提到的子元素: 我一直在使用:
CoffeeScript:
$(@node).removeClass('up down')
$('#dc1').removeClass('up down')
$('#dc2').removeClass('up down')
$(@node).addClass('down')
$('#dc1').addClass('down')
$('#dc2').addClass('up')
请注意,最终我将根据一些数据添加类,而不是将它们硬编码为咖啡脚本中的“向上”或“向下”。
但是什么都没有发生。我是否正确选择了 id="dc#" 元素?
如果对上下文有帮助,我会为 Dashing 这样做
【问题讨论】:
-
咖啡脚本中没有
$('#dc1').addClass('down')->$("#dc1").addClass "down"? -
我看不出你的 CoffeScript 有什么问题,问题肯定出在其他地方
-
@Vucko 括号在 CoffeeScript 中通常是可选的,但是很多人(包括我)把它们放进去以使代码更清晰。单引号对 CoffeeScript 中的字符串也有效,双引号也有效,但它们支持字符串插值,所以很多人(包括我)坚持使用单引号,除非他们特别想使用插值。
标签: html css coffeescript sass dashing