在jQuery.each中追加元素时出错

时间:2014-12-07 19:03:09

标签: jquery append each

我这里有一个奇怪的问题。 我使用jQuery.each迭代一个数组并向我的DOM添加新元素;但是在jQuery.each中使用jQuery.append时似乎存在问题:该函数有效(我可以在浏览器中看到新元素),但HTML检查器不会显示它们。

我想这里存在问题,HTML检查器(Chrome)应该更新DOM。我怀疑在用jQuery操作我的新内容时会带来问题。

原创功能:

function objectBuildImages( object ){
    var images = object.images;
    var img_container = $("<div class='object-images'></div>");


    $.each( images, function( i, path ) { 
        var img = $("<img />", { 
            src:    path,
            class:  'object-image object-image-'+i

        });
        img_container.append(img);

    });

    return img_container;
}

var images_container = objectBuildImages(object);
object_container.append(images_container);

所以我开始调试了。 下面的这个更简单的代码更新HTML检查器......

调试步骤1:

function objectBuildImages( object ){
    var img_container = $("<div class='object-images'></div>");

    var img = $("<img />", { 
        src:   'test.jpg'
    });
    img_container.append(img);

    return img_container;
}

var images_container = objectBuildImages(object);
object_container.append(images_container);

但是一旦我在jQuery中移动它,它就不会再更新检查器了。

调试步骤2:

function objectBuildImages( object ){
    var images = object.images;
    var img_container = $("<div class='object-images'></div>");

    $.each( images, function( i, path ) { 

        var img = $("<img />", { 
            src:   'test.jpg'
        });
        img_container.append(img);

    });

    return img_container;
}

var images_container = objectBuildImages(object);
object_container.append(images_container);

我有什么问题吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

感谢您的回复!我发现我的问题来自其他地方(我的图像对象格式不正确)。 感谢您的帮助 - 我可以删除这个问题吗?