JQuery $ .each()JSON数组对象迭代
我在尝试解决JQuery $ .each()迭代时遇到了一些麻烦
这是我的arrays,为方便起见限制了结果
[{"GROUP_ID":"143", "GROUP_TYPE":"2011 Season", "EVENTS":[ {"EVENT_ID":"374","SHORT_DESC":"Wake Forest"}, {"EVENT_ID":"376","SHORT_DESC":"Yale"}, {"EVENT_ID":"377","SHORT_DESC":"Michigan State"}] }, {"GROUP_ID":"142", "GROUP_TYPE":"2010 Season", "EVENTS":[ {"EVENT_ID":"370","SHORT_DESC":"Duke"}, {"EVENT_ID":"371","SHORT_DESC":"Northwestern"}, {"EVENT_ID":"372","SHORT_DESC":"Brown"}] }]
我的第一个$ .each迭代非常有效,但“EVENTS”的子迭代是我遇到问题的地方
我的第一个$ .each()函数
$.each(json, function(key) { html = ''; ....
我的非工作第二个$ .each()函数
$.each(json.EVENTS, function(key) { newHTML += ''+json.EVENTS[key].SHORT_DESC+'
'; ...
我(松散地)理解这不是一个单一的JSON对象,而是一个JSON对象数组,但不理解第一个版本是否有效,为什么第二个版本没有
一旦我理解这是$ .each()中的$ .each(),我想要实现的最终结果,我知道下面的代码不起作用,而且很可能是愚蠢的,但是让我知道我想要尝试什么实现:通过父级迭代父级然后子级
$.each(json, function(key) { html = ''; $.each(json[key].EVENTS, function(subkey) { html = ''; ...
为$.each function()
分配第二个变量,使它更容易,因为它将为您提供数据(因此您不必使用指标)。
$.each(json, function(arrayID,group) { console.log(''); $.each(group.EVENTS, function(eventID,eventData) { console.log(''+eventData.SHORT_DESC+'
'); }); });
应打印出您在问题中尝试的所有内容。
http://jsfiddle.net/niklasvh/hZsQS/
编辑重命名变量,使其更容易理解什么是什么。