如何在jade模板引擎中使用jQuery / Javascript

时间:2013-07-09 18:51:51

标签: javascript jquery pug

到目前为止,这是我对jade模板的代码

div
  -for(var group_key in data) {
    div.testsuite
      ul
        li(id="testsuite_#{group_key}") #{data[group_key][0].testsuite} (#{data[group_key][0].start_date})
          ul(id="testcases_#{group_key}")
            -for(var i = 0; i < data[group_key].length; i ++) {
              li(id="testcase_#{data[group_key][i].id}") #{data[group_key][i].name}
                ul(id="status_#{data[group_key][i].id}")
                  li Status: #{data[group_key][i].status}

                  #start here
                  -if(data[group_key][i].status == 'Pass') {
                    -document.getElementById(group_key).setAttribute("class", "pass")
                  -} else if (data[group_key][i].status == 'Incomplete') {
                    -document.getElementById(group_key).setAttribute("class", "incomplete")
                  -} else if (data[group_key][i].status == 'Fail') {
                    -document.getElementById(group_key).setAttribute("class", "fail")
                  -} else {

                  -}
                  #end here

                  li Time: #{data[group_key][i].time}
                  li Message: #{data[group_key][i].message}
                  li Time started: #{data[group_key][i].date}
            -}
  -}

我想从#start这里尝试做什么而#end这里是如果测试用例状态等于'Pass'设置li的类,其中testuite _#{group_key}的id要传递,否则如果它等于'不完整',将类设置为不完整等。

对于CSS,pass类的背景为green,incomplete = yellow,fail = red。

我将如何做到这一点?见下文

enter image description here

我目前使用-document.getElementById .....得到错误 enter image description here

我也试过使用jQuery,但我仍然收到错误: - $。(group_key).addClass()

1 个答案:

答案 0 :(得分:0)

问题是document.getElementById之前的破折号。您只需要在实际的if / then / else子句旁边使用破折号,而不是执行代码。它试图找到-document并且正在失败。