2010-10-25 81 views
6

使用jquery-tmpl,我想通過向每個第二個類添加一個類來對行進行分條,所以從數據['Cat','Dog','Horse','Noddy']它會生成:如何循環奇數/偶數班,因爲它循環的項目?

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

解決方案suggested here看起來像一些東西的開始,可以進一步細化,以便我們noddy's輕鬆消化。

回答

6

沒關係。過於複雜的事情像往常一樣...

只要按照它與:用addClass奇選擇...

$('#template').tmpl(data).appendTo('#list') 
$("#list li:odd").addClass('odd') 
3

剛剛發現幾個試錯後的溶液。您可以使用{{=}}標籤,用於評估表達:

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

當然,你可以修改它以滿足您的具體需要 - 你可以把裏面的類和打印空值奇數或偶數。

另一種解決方案是使用一個函數(沒有在jquery的TMPL文檔示例的這一),但它是難看。

+0

工程輝煌。如果你不想寫任何JS代碼使用這個! – hashcoder 2014-01-29 12:07:42

0

@約翰眉,我不認爲你是過於複雜。

恕我直言,模板就是添加奇數類的應該發生的地方。邏輯和性能明智。

Here是用於具有嵌套模板內的索引的貼劑。如果你想有一個額外的奇數財產,它可以很容易地擴展如下:

jQuery.map(data, function(dataItem, index) { 
    if(dataItem){ 
     dataItem.$index = index; 
     dataItem.$odd = index % 2 === 1; 
    }