2014-08-28 172 views
0

嗨,大家好,我是JS的新手,所以我的問題似乎對你來說微不足道。 我要重寫。每個$()循環用於循環

這裏是我的代碼:

var students=[ 
    { 
    "roll": 101, 
    "name": "Ben", 
    "emailId":"[email protected]" 
    }, 
    { 
    "roll": 102, 
    "name": "Ian", 
    "emailId":"[email protected]" 
    }, 
    { 
    "roll": 103, 
    "name": "Caroline", 
    "emailId":"[email protected]" 
    } 
    ]; 
    $.each(students,function(i,v){ 
    $('p.listofstud').append(v.roll + " " + v.name + " " + v.emailId + "<br/>"); 
    }); 

當我把它改寫我得到的翻譯:所有屬性都在同一行(我喜歡每一行中有三個屬性)。

for (var i=0,len=students.length;i<len;i++) { 
    for (var property in students) { 
     $('p.listofstud').append(students[property] + " "); 
    } 
    } 

你能幫我請,THX提前:)

+2

這會幫助你,http://jsfiddle.net/satpalsingh/yu8b1v28/1/ – Satpal 2014-08-28 09:34:14

回答

1

當引用您的students數組中的for循環,你應該引用students[i],就像在附加參數列表應該​​

for (var i = 0, len = students.length; i < len; i++){ 
    for (var key in students[i]){ 
     $('p.listofstud').append(students[i][key] + " "); 
    } 
    $('p.listofstud').append("<br/>"); 
} 

在每個循環結束時,您需要添加一個換行符,因爲這將爲您提供所需的格式,讓每個學生的參數在一個單獨的行中。

原始in students表單的問題是您試圖獲取學生數組中的鍵,而不是給定學生的數組。

+0

Thx,問題已解決! – kuba0506 2014-08-28 09:41:39