2011-02-11 63 views
0

這個循環工程100%的罰款:的Javascript麻煩倒車環

for(m = 1; m < splitData.length; m++) 

這一次卻拋出錯誤! (涉及循環體)

for(m = splitData.length; m > 1; m--) 

的代碼的全部塊是:

// Success 
if (splitData[0] == "1") { 
    // DbID, username, msg, date 

for(m = splitData.length; m > 1; m--){ 
     var splitMsg = splitData[m].split("¬"); 
     $('#<%=discussionBoard.ClientID %>').prepend('<div class="messageWrapper"> 
      <div class="messageHead">' + splitMsg[1] + '</div> 
      <div class="messageTxt">' + splitMsg[2] + 
      '<div class="messageDetails">' + splitMsg[3] + 
      '</div></div></div>'); 
} 

在splitData第一索引僅僅是一個1或0指示是否Ajax的返回良好的數據。然後我想循環輸入的其餘部分。

回答

4

您正在逐一處理。請記住,JavaScript中的索引是基於0的,這意味着它們從0length - 1。試試這個:你想

for (m = splitData.length - 1; m >= 1; m--) 
+0

你不想檢查`> ='0'只是>` – Raynos 2011-02-11 17:45:56

+0

@Raynos:我沒注意到他想忽略第一個元素。所以,是的,我是一個接一個的。 :) – 2011-02-11 17:47:46

1

// count from 1 to splitData.length - 1

for(m = 1; m < splitData.length; m++)

// count from splitData.length to 2

for(m = splitData.length; m > 1; m--)

for (m =splitData.length = 1; m > 0; m--)

2

你試過

for(m = splitData.length - 1; m > 0; m--) 

代替:

for(m = splitData.length; m > 1; m--)