在jsRender中,你如何访问你正在更新的元素?
问题描述:
我第一次使用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中删除该元素的哪个元素?
谢谢! 迈克 -
答
首先,你可以找到这个页面上的例子: 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
感谢发现,这似乎是工作! – 2013-04-25 23:24:06