删除现有内容并添加新内容

时间:2015-01-22 09:06:46

标签: javascript jquery

当用户点击albumPreview元素时,此事件会继续。这很有效,当我点击每个albumPreview一次但当我再次点击时它只删除a,而不是再次追加。

replaceWIth()方法不起作用,因为每个albumPreview中的元素随机数。我怎样才能做到这一点?

if ($('.img-container-wrap').length == 0) { //IF NOT EXIST, CREATE
    console.log(photoArray.response.length);
    for (i; i < photoArray.response.length; ++i) {
        albumContent //CONTAINER FOT IMAGES
        .append($("<div class='img-container-wrap'></div>")
                .append($("<div class='img-container'></div>") //APPEND TO IMG-CONTAINER-WRAP
                        .css({
                            "background-image": 'url("' + photoArray.response[i].src + '")'
                        })))
    }
} else if ($('.img-container-wrap').length > 0) { //IF EXIST, REMOVE _AND_ APPEND NEW CONTENT
    $(".album-content-section").find('.img-container-wrap').remove(); //REMOVE ELEMENTS
    for (i; i < photoArray.response.length; ++i) {
        albumContent //CONTAINER FOR IMAGES
        .append($("<div class='img-container-wrap'></div>")
                .append($("<div class='img-container'></div>")
                        .css({
                            "background-image": 'url("' + photoArray.response[i].src + '")'
                        })))
    }

2 个答案:

答案 0 :(得分:0)

首先清空你的容器,然后循环:

albumContent.empty(); // remove previous content

for (i = 0; i < photoArray.response.length; i++) {
    albumContent //CONTAINER FOT IMAGES
        .append($("<div class='img-container-wrap'></div>")
            .append($("<div class='img-container'></div>") //APPEND TO IMG-CONTAINER-WRAP
                .css({
                    "background-image": 'url("' + photoArray.response[i].src + '")'
                })))
}

答案 1 :(得分:0)

我明白我的错误在哪里:empty()for循环中。但是photoArray.response.length不是无穷大,当循环结束时,empty()方法停止工作。谢谢所有人,伙计们!