Я использую шаблоны 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>
Может кто-нибудь объяснить, почему имя класса "hideV""не отображается, когда CanSkipQuestion имеет значение false?