2012-01-24 44 views
0

我使用jQuery模板(jquery.tmpl.js)呈現網頁上的內容,並且遇到意外的結果。未呈現類名的jQuery模板

一對夫婦在我的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屬性爲則呈現如預期的標記,

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

如果我改變類,那麼它的出現如預期的名稱,

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

任何人都可以解釋爲什麼類名「hideV」不是當CanSkipQuestion設置爲false?

回答

1

在你的代碼 {{if CanSkipQuestion}} 只確保CanSkipQuestion存在,如果這樣做,將裏面去,並創建HTML。

如果您希望自己的條件適用於CanSkipQuestion的值,則需要更改模板中的條件,例如{{if CanSkipQuestion == true}}

+0

Tak for din svar,@Danish - 這聽起來很合理,但它不能解釋爲什麼會呈現空的類屬性。我已經從這裏開始了,但可能是Firebug顯示空類屬性的情況,即使它不在DOM或原始HTML中。 – awj