2013-03-29 69 views
-1

我试图使用for循环加载json文件中的产品。对于每个产品我想要一个div(div中的每个项目)。我没有加载的问题,但不知何故,第一个项目的数据,看起来像它与下一个项目连接。我试图通过网络解决方案,而且我得到的最接近父母的东西。 (我仍然是jQuery的绿色)。每个项目的div数量正常。For Each Loop append div

if($.isArray(item.product_Shorts)){ 
    $.each(item.product_Shorts, function(i, item){ 
     $('#CasualItems').append("<div class='title'>"); 
     $('.title').append(item.product_ID); 
    }); 
} 

目前我有两个产品,一个ID为3,另一个为4(对于这个我显示ID,而不是标题。谢谢你着想。

enter image description here

+1

顺便说一句,你实际上并没有提出一个问题,在您的文章......我想我们都假设你的问题... 。 – Pete

+0

@Dav,我想杰西有答案。当您将图层称为$(“。title”)时,product_id(或其他)将添加到类“title”的每个图层中。 – netadictos

回答

2

试试这个:

if($.isArray(item.product_Shorts)){ 
    $.each(item.product_Shorts, function(i, item){ 
     $('#CasualItems').append("<div class='title'>").html(item.product_ID); 
    }); 
} 
+0

我想我没有正确解释。我需要第二个项目的div(第二个循环)不会影响第一个项目div中的第一个以前的数据。 我想要的结果应该是这样的:

3
4
Dav

+0

工作太谢谢。 – Dav

+1

@dav至少你可以给+1,这个解决方案比你标记为答案的更优雅。 –

1

在第一循环中,其附加div和追加的3产品ID(所有“标题”类)在第二遍中,其附加一个div,然后添加产品。 4的ID(再次给所有'标题'类,其中现在有2个)。

只是这样做,而不是:

$('#CasualItems').append("<div class='title'>").append(item.product_ID); 
+0

噢好吧。它工作感谢。 – Dav

+0

从我+1,他们要求忘记感谢我们的人。 –

+0

@Pete我想提高在这里发布的答案的质量,如果我也提高声誉,那就没问题。 –

1

这是因为你将它添加到每一个.title div。试试id或索引。

$('.title').eq(i).append(item.product_ID); 
1

试试这个,采用独特的id每个div

if($.isArray(item.product_Shorts)){ 
    $.each(item.product_Shorts, function(i, item){ 
     $('#CasualItems').append("<div id='title'" + (i + 1) + ">"); 
     $('#title' + (i + 1)).append(item.product_ID); 
    }); 
}