我在试图解决JQuery$.each()迭代时遇到了一些真正的困难
这是我的数组,为方便限制结果
[{"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"}]
}]
我的第一次$.每次迭代都很好,但"EVENTS"的子迭代是我遇到问题的地方
我的第一个$.each()函数
$.each(json, function(key) {
html = '<a href="'+json[key].GROUP_ID+'">';
....
我不工作的第二个$.each()函数
$.each(json.EVENTS, function(key) {
newHTML += '<p>'+json.EVENTS[key].SHORT_DESC+'</p>';
...
我(大致)理解这不是一个单一的JSON对象,而是一个对象的JSON数组,但不理解第一个版本是否有效,为什么第二个版本不能
一旦我理解了这一点,我想要实现的最终结果是$.ech()中的$.ech
$.each(json, function(key) {
html = '<a href="'+json[key].GROUP_ID+'">';
$.each(json[key].EVENTS, function(subkey) {
html = '<a href="'+json[key]EVENTS[subkey].SHORT_DESC+'">';
...
也为$.each function()
分配第二个变量,这会让它更容易,因为它会为您提供数据(因此您不必使用标记)。
$.each(json, function(arrayID,group) {
console.log('<a href="'+group.GROUP_ID+'">');
$.each(group.EVENTS, function(eventID,eventData) {
console.log('<p>'+eventData.SHORT_DESC+'</p>');
});
});
应该打印出你在问题中尝试的所有内容。
http://jsfiddle.net/niklasvh/hZsQS/
edit重命名了变量,使其更容易理解什么是什么。