6

使用 jquery-tmpl,我想通过向每一秒添加一个类来对行的表示进行条带化,因此它从数据 ['Cat','Dog','Horse','Noddy'] 生成:

<li>Cat</li>
<li class="odd">Dog</li>
<li>Horse</li>
<li class="odd">Noddy</li>

这里建议的解决方案看起来像是可以进一步完善以便我们 noddy's 消化的东西的开始。

4

3 回答 3

6

没关系。像往常一样把事情复杂化...

只需使用带有 addClass 的 :odd 选择器来跟进它...

$('#template').tmpl(data).appendTo('#list')
$("#list li:odd").addClass('odd')
于 2010-10-25T06:42:07.470 回答
3

经过几次尝试和错误后才找到解决方案。您可以使用 {{= }} 标签来评估表达式:

{{each(i) Animals}}<li class="{{= i % 2 ? 'even' : 'odd'}}">...</li>{{/each}}

当然,您可以修改它以完全适合您的需求 - 您可以将类放入其中并打印奇数或偶数的空值。

另一种解决方案是使用一个函数(在 jquery tmpl 文档中有这样的例子),但它很难看。

于 2011-06-28T12:17:27.457 回答
0

@John Mee,我认为您并不过分复杂。

恕我直言,模板是添加奇数类的地方。逻辑和性能明智。

是一个用于在嵌套模板中包含索引的补丁。如果你想拥有一个额外的 $odd 属性,它可以很容易地扩展如下:

jQuery.map( data, function( dataItem, index ) {
    if(dataItem){
         dataItem.$index = index;
         dataItem.$odd = index % 2 === 1;
    }
于 2011-08-01T13:18:12.807 回答