For Each Loop追加div

时间:2013-03-29 17:50:34

标签: jquery json html append

我正在尝试使用for循环从 json 文件加载产品。我希望每个产品都有一个div(div中的每个项目)。我没有加载的问题,但不知何故第一项数据,看起来像是与下一项连接。我试图通过网络解决方案,我得到的最接近的是与父母有关。 (我仍然是jQuery的绿色)。每个项目的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而不是Title。谢谢。

enter image description here

4 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:1)

在第一个循环中,它附加div并附加产品ID 3(到所有'title'类)。在第二遍中,它附加一个div,然后将产品ID添加为4(再次添加到所有'title'类,其中现在有2个)。

请改为:

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

答案 2 :(得分:1)

这是因为您要将其添加到每个.title div。尝试通过id或索引来完成。

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

答案 3 :(得分: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);
    });
}