我有一个像这样的 jquery 模板设置:
<script id='tmpl-video_list' type='text/x-jquery-tmpl'>
<li>
<a href='${url}'><br/>
<span class='image_border'>
<span class='image_container'>
<img src='${thumb}' alt='' title='' />
</span>
</span>
</a>
<div class='search_block'>
<span class='name'>${caster_name}</span>
<a href='${url}'>
<span class='search_title'>${title}</span>
</a>
</div>
</li>
我发送的数据看起来像这样:
{
_index:i,
url: url,
thumb: thumb,
name: name,
title: title
}
这一切都运转良好。我的问题是,是否有办法在那里放置条件。我了解 {{if}} 等文档中所述的内容,但我想知道您是否可以执行以下操作:
{{if ${_index}+1 % 5 == 0}} class='last_search_video' {{/if}}
我尝试过,但没有成功。我其实不喜欢_index
在我的对象中,但我想我应该改变一下。我认为当前索引已传递到模板的循环中,但我不知道。
我还没有使用 jQuery 的模板插件,所以如果有人知道更好的插件,请随意推荐另一个。
我实际上不喜欢我的 _index
目的
好消息!你实际上并不需要它。适应这个优秀的问答 https://stackoverflow.com/q/3895329/497356对于您的问题,您需要执行一些操作才能更轻松地查找正在渲染的当前项目的索引:
-
添加一个函数在options
参数为.tmpl()
您可以使用它来检索当前项目的索引:
$("#tmpl-video_list").tmpl(data, {
getIndex: function(item) {
return $.inArray(item, data);
}
});
-
修改您的模板以使用该函数:
<script id='tmpl-video_list' type='text/x-jquery-tmpl'>
<li {{if $item.getIndex($item.data) + 1 % 5 === 0 }} class='last_search_video' {{/if}}>
<!-- etc., etc., -->
</li>
</script>
这是一个简化的工作示例:http://jsfiddle.net/gsd6D/ http://jsfiddle.net/gsd6D/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)