2017-07-06 158 views
0

所以我觉得有什么毛病我的for循环的地方...的Javascript:For循环不工作

我都在一个单独的css文件中的类,所以我在正确上看到的一切DOM前端。

我的问题是我需要的行1和3将此类,我可以得到它的工作:

<i class="fa fa fa-trophy fa-4" aria-hidden="true"> 

从理论上讲,我应该有10行的动态数据表这是我们应用程序中的第一个到第十个用户。

1-3行:第一,第二和第三位的用户......因此他们获得了“奖杯”类。

第4-10行:剩下的用户是否因此得到“fa-user-circle-o”类。

我在做什么错?

的Javascript:

for(var i = 0; i < data.leaderboards.length; i++){ 

     row = $('<div class="leaderboard-row">'); 
     row.append('<div class="user-circle"><i class="fa fa-user-circle-o fa-4" aria-hidden="true">' + '</i></div>'); 
     row.append('<div class="leaderboard-col col1">' + (i + 1) + '</div>'); 
     row.append('<div class="leaderboard-col col2"><span class="truncate">' + data.leaderboards[i].username + '</span></div>'); 
     row.append('<div class="leaderboard-col col3"><span class="truncate">' + data.leaderboards[i].win_amount.formatMoney(0, '.', ',') + '</span></div>'); 

     if(data.leaderboards[i].level_unlocked > _currLevel){ 
      row.append('<div class="leaderboard-col col4">Won Playing ' + data.leaderboards[i].game_name + '</div>'); 
     } 
     else{ 
      row.append('<div class="leaderboard-col col4">Won Playing <a href="/game/' + data.leaderboards[i].game_slug + '">' + data.leaderboards[i].game_name + '</a></div>'); 
     } 
     _table.append(row); 
    } 
+0

请问您可以提供'数据'细节。 – Natsathorn

+0

data.leaderboards是这个数组吗? –

+0

@Nathathorn我目前没有准确答案的机器,但“数据”正在击中后端并从“.leaderboards”数据库获取信息。如果有帮助,我们有这个连接的Django。 – spidey677

回答

2

你为什么不分配fa-trophy类时i <= 2?像

if (i <= 2) { 
    // assign fa-trophy class for the first 3 places 
    row.append('<div class="user-circle"><i class="fa fa-trophy fa-4" aria-hidden="true">' + '</i></div>'); 
} else { 
    // do something else with 4th place onwards 
    row.append('<div class="user-circle"><i class="fa fa-user-circle-o fa-4" aria-hidden="true">' + '</i></div>'); 
} 
+0

圣洁的废话!这应该工作!第4-10行会填充正确吗? – spidey677

+0

是的。这将适用于行4-n,其中'n'是'data.leaderboards.length'。 –

+0

如果我想给第2行一个不同的类名称呢?那么从理论上讲,任何排在第二位的用户都会得到一个不同的“i级”铜牌? – spidey677