jquery .each() 不起作用



我想循环通过

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

杰伦

{
   "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 Code

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

尝试使用:

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

这是一个小提琴。

首先尝试一下没有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);
         });
 });

最新更新