2015-09-18 38 views
0

在下面的Jade代碼中,在條件語句中使用JQuery不起作用。儘管如果我將script. console.log($(document).width())放在代碼的頂部附近,它會顯示出來,這表明JQuery運行正常。 if rows.length > 0確實有效。在Jade中使用JQuery有條件不工作

block content 

    div.issueContainer.ics 

     if rows.length > 0 

      if ($(document).width() < 1000) 
       p Mobile 

      else 
       p Not Mobile 
       //- each val in rows 
       //-  +createIssueBox(val) 
       //- div.addMore 
       //-  h1 You can be the voice of change 
       //-  div.multButtons 
       //-   a(href="/issues/submit").submit-button.first Submit an Issue 
     else 
      div.addMore 
       h1 There are no issues currently 
       a(href="/issues/submit").submit-button Submit an Issue 
+0

Jade應該在JS修改模板客戶端時創建模板(作爲模板引擎和所有模板)。 IE:'div.issueContainer.ics'可以模板化爲一個空的div,而JS用於填充div,基於行的長度和寬度。 – Nuclearman

回答

1

jQuery是一個客戶端框架,它不能在服務器端運行模板引擎(你的情況下是Jade)。

console.log($(document).width())會工作的原因是它在您的模板生成的客戶端腳本中。

+0

有道理。只是沒有在我的腦海中點擊js中的js條件運行服務器端。謝謝。我想我會用純js來查找屏幕寬度。 – Connorelsea

+0

Welp剛剛意識到這可能不會工作,因爲它是服務器端...猜猜我只需要找出一種不同的方式來處理移動設備。 – Connorelsea