jquery .each()无效

时间:2012-01-25 22:01:06

标签: javascript jquery json

我想循环播放

  • lists内的每个对象,然后
  • list内的每个lists并计算list
  • 内的对象数量
  • 如果list中的对象数量= 3,我想提醒每个对象的值

JSON

{
   "lists":[
    {
        "list":[
         {
            "value": "List 1 Value A"
         },
         {
            "value": "List 1 Value B"
         },
         {
            "value": "List 1 Value C"
         }
       ]
    },
    {
         "list":[
          {
             "value": "List 2 Value A"
          },
          {
             "value": "List 2 Value B"
          },
          {
             "value": "List 2 Value C"
          },
          {
             "value": "List 2 Value D"
          }
         ]
    }
  ]
}

JQuery代码

$.each(response.lists.list, function(index, list){
   alert(list.value);
}

2 个答案:

答案 0 :(得分:5)

尝试使用:

$.each(response.lists, function (i, list) {
    if (list.list.length === 3) {
        $.each(list.list, function (j, item) {
            alert(item.value);
        });
    }
});

Here's a fiddle.

答案 1 :(得分:0)

首先尝试不使用jQuery.each。你需要一个循环,一个if语句和另一个循环。

for (var i=0; i<response.lists.length; i++)
    if (response.lists[i].list.length == 3)
        for (var j=0; j<response.lists[i].list.length)
            alert(response.lists[i].list[j].value);

我希望有充分的理由使用具有属性的对象(listslistvalue);否则,只使用数组就可以非常简单。

现在,上面的循环结构带有forEach

 $.each(response.lists, function(index, item) {
     if (item.list.length == 3)
         $.each(member.list, function(index, item) {
             alert(item.value);
         });
 });