如何有条件地为玉石中的文本指定颜色

时间:2013-12-20 02:30:05

标签: jquery css node.js mongodb

我有一个使用mongodb,node.js,express,jade模板,jquery的应用程序。我有一组文档,每个文档都包含“活动”或“过期”状态。我想用绿色显示“活动”文档的日期,用红色显示“过期”文档的日期。

.list
    if (applications.length === 0)
      | No applications.
    each application, index in applications
      .item
        div
          -if (application.Status = "active")
            -$( ".dateapplied" ).addClass("activeClass")
        div
        div.dateapplied
          div
                  -var day = application.Applied.getDate()
                  -var m = application.Applied.getMonth()
                  -var y = application.Applied.getFullYear()
                  -var prettydate = m + " / " + day + " / " + y
          div

          span.name=prettydate
          |&nbsp
        div.name

该行 - $(“。dateapplied”)。addClass(“activeClass”) 呈现:

500 TypeError:/Users/eddie/logicalpath/jobkeeper/views/applications.jade:20 18 | div 19 | -if(application.Status =“active”)> 20 | - $(“。dateapplied”)。addClass(“activeClass”)21 | div 22 | div.dateapplied 23 | div undefined不是函数

我的CSS课程是:

.activeClass {   颜色:绿色 }

.expired Class {   红色 }

我的目标是让日期显示为红色表示已过期,绿色表示活动状态。我正在尝试使用css类而不是内联css.Im不确定如何将类添加到.dateapplied。或者,也许我在想这个错误。任何帮助表示赞赏。

谢谢!

1 个答案:

答案 0 :(得分:1)

试试这个:

.list
    if (applications.length === 0)
      | No applications.
    each application, index in applications
      .item
        div
        div.dateapplied(class=(application.Status == 'active')? 'activeClass':'expiredClass')
          div
                  -var day = application.Applied.getDate()
                  -var m = application.Applied.getMonth()
                  -var y = application.Applied.getFullYear()
                  -var prettydate = m + " / " + day + " / " + y
          div

          span.name=prettydate
          |&nbsp
        div.name

您可以在属性中应用条件,如下所示:

(class=(application.Status == 'active')? 'activeClass':'expiredClass')