2013-04-24 52 views
1

我第一次使用jsRender,並且在完整的文檔中找不到太多東西。在jsRender中,你如何訪問你正在更新的元素?

我填充使用此模板的網格 -

<script id="my-grid" type="text/x-jsrender"> 
    <div class="grid-item"> 
     <img class="grid-item-image" src="img.gif" /> 
     <div class="grid-item-description">{{clean:Name}}</div> 
    </div> 
</script> 

我有一個轉換器設置爲清理數據回來在Name -

$.views 
    .converters({ 
     clean: function (x) { 
      if (x) { 
       x=x.replace(/<br \/>/gi, " - "); 
      } else { 
       x=""; 
      } 
      return x; 
     } 
    }); 

轉換器工作正常,但我想要做的是實際上刪除else中元素grid-item-description的這個實例(當沒有要顯示的文本時)。

如何找出我目前在jsRender中刪除該元素的哪個元素?

謝謝! 邁克 -

回答

2

首先,你可以找到這個頁面上的例子: http://borismoore.github.io/jsrender/demos/demos.html

,你需要對你的問題的例子,這是一個: http://borismoore.github.io/jsrender/demos/step-by-step/04_if-else-tag.html

你需要做的是環繞元素與if標記:

<script id="my-grid" type="text/x-jsrender"> 
    {{if Name}} 
    <div class="grid-item"> 
     <img class="grid-item-image" src="img.gif" /> 
     <div class="grid-item-description">{{clean:Name}}</div> 
    </div> 
    {{/if}} 
</script> 

甚至在您的函數中不需要else條件。這

工作實例可以在jsfiddle

+0

感謝發現,這似乎是工作! – 2013-04-25 23:24:06

相關問題