在jsRender中,如何访问正在更新的元素?

时间:2013-04-24 20:08:50

标签: javascript jquery 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;
        }
    });

转换器运行正常,但我想要做的是实际删除grid-item-description中元素else的这个实例(当没有要显示的文本时)。

如何找出我目前在jsRender中删除该元素的元素?

谢谢! - 迈克

1 个答案:

答案 0 :(得分: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

上找到相关的工作示例