如何在循环中的jquery prepend()之后删除任何内容

时间:2017-05-18 01:49:38

标签: javascript jquery ajax

我正在搜索按钮,每次用户搜索电影时,我都会在html div中添加照片api。我想要做的就是当用户再次搜索我希望删除以前内容的另一部电影时(前面的内容之后的任何内容)。以下是我的代码的样子:

HTML:

<div id="Search-Results"></div>

JQUERY:

    $.ajax(settings).done(function (response) {

    for(var i=0; i < results.length; i++)
        {   
        var s = '<span><img src="http://example.com/test.jpg"> </span>';
        $("#Search-Results").prepend(s);
    }
});

示例:

当用户搜索头像电影然后搜索教父时,我想要删除头像图像。教父将被假装进入div中,教父旁边的头像照片将被移除。

注意代码在for循环内,我只得到一张带.html的图片

3 个答案:

答案 0 :(得分:2)

试试这个

$("#Search-Results").html("");

for(var i=0; i < results.length; i++) {

      var s = '<span><img src="http://example.com/test.jpg"> </span>'; 
      if (i == 0){
           $("#Search-Results").html(s); 
      }else {
           $("#Search-Results").prepend(s);
      }
}

答案 1 :(得分:1)

对于循环中的第一张照片使用.html(),其余部分请使用.prepend()

for(var i=0; i < results.length; i++) {
    var s = '<span><img src="http://example.com/test.jpg"> </span>'; 
    $("#Search-Results")[ i ? 'prepend' : 'html' ]( s ); 
}

答案 2 :(得分:0)

此功能只会覆盖innerHTML

$("#Search-Results").html(s);