jQuery模板不呈现类名

时间:2012-01-24 16:49:26

标签: jquery json jquery-templates

我正在使用jQuery模板(jquery.tmpl.js)在网页上呈现内容并遇到意外结果。

我的JSON对象中的一些属性是

CanMovePrevious    false
CanSkipQuestion    false

这是我的模板中的一个片段,它会产生意想不到的结果:

{{if CanMovePrevious}}
    <a id="previous"><span>${PreviousButtonText}</span></a>
{{/if}}
{{if CanSkipQuestion}}
    <a id="next"><span>${NextButtonText}</span></a>
{{else}}
    <a id="next" class="hideV"><span>${NextButtonText}</span></a>
{{/if}}

我已经包含了 CanMovePrevious 条件,因为它按预期工作:对于上述JSON数据, CanMovePrevious 元素呈现。

但是,对于 CanSkipQuestion 条件,并使用上述JSON数据,标记实际上呈现为

<a id="next" class=""><span>Next</span></a>

这是两种选择之间的混合。

如果 CanSkipQuestion 属性为 true ,则呈现的标记符合预期,

<a id="next"><span>Next</span></a>

如果我更改了该类的名称,则它会按预期显示,

<a id="next" class="myClass"><span>Next</span></a>

CanSkipQuestion 设置为false时,有人可以解释为什么不会呈现类名“hideV”吗?

1 个答案:

答案 0 :(得分:1)

在您的代码 {{if CanSkipQuestion}} 中,只确保CanSkipQuestion 存在,如果确实存在,则会进入并创建HTML。

如果您希望条件适用于CanSkipQuestion的值,则需要更改模板中的条件,例如{{if CanSkipQuestion == true}}