2014-08-28 123 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