2017-04-06 37 views
1
for (i = 1; i < 24; i++){{ 

     if(dices[i].value == 0) { 
      $('td div:nth-child(i)').addClass("zero-desktop") 
      } else if (dices[i].value == 1) { 
      $('td div:nth-child(i)').addClass("one-desktop") 
      } else if (dices[i].value == 2){ 
      $('td div:nth-child(i)').addClass("two-desktop") 
      } else if (dices[i].value == 3) { 
      $('td div:nth-child(i)').addClass("three-desktop") 
      } else if (dices[i].value == 4) { 
      $('td div:nth-child(i)').addClass("four-desktop") 
      } else { 
       alert ("NOT WORKING") 
      } 
      }}; 

dices[i]是一個顯示23個隨機數的數組,有23個div。jQuery:For循環if else和n-child

每次dice[i].value等於(0〜4)中的一個,類將被添加到div,並且當它成功地將一個類添加到div時,[i]將增加,直到達到最終數量。

由於某種原因未被捕獲錯誤:語法錯誤,無法識別的表達式::nth-​​child錯誤顯示出來。

+0

你能夠粘貼骰子數組嗎? – Optimae

+0

dices是一個數組,可以生成23個隨機數。例如dice [2]的範圍可以從0到4,並且每次刷新頁面時都會更改。 –

回答

2

這裏的問題在於,您在字符串中插入字符'i'而不是使用變量i。你應該使用字符串連接,像這樣:

for (i = 1; i < 24; i++) { 
    if (dices[i].value == 0) { 
    $('td div:nth-child(' + i + ')').addClass("zero-desktop") 
    } else if (dices[i].value == 1) { 
    $('td div:nth-child(' + i + ')').addClass("one-desktop") 
    } else if (dices[i].value == 2){ 
    $('td div:nth-child(' + i + ')').addClass("two-desktop") 
    } else if (dices[i].value == 3) { 
    $('td div:nth-child(' + i + ')').addClass("three-desktop") 
    } else if (dices[i].value == 4) { 
    $('td div:nth-child(' + i + ')').addClass("four-desktop") 
    } else { 
    alert ("NOT WORKING") 
    } 
} 
+0

非常感謝你!!!!! –

+0

很高興幫助!祝你好運與你的其他項目:) – gyre

+0

嘿,我注意到你決定不接受我的答案。這是出於什麼原因?無論出現什麼新問題,我都可以幫助你。讓我知道:) – gyre