使用html()作为append()

时间:2014-09-25 19:06:24

标签: javascript jquery

我想使用html()append()

的工作方式相同
function showResponse(response) {
 var $list = $('#list');
 var items = response.items;

 $.each(items, function(id, el){
  $list.html('el.id.videoId')

 });
}

我不知道是否有人理解它,但我想要的是

List1 = id1, id2 id3 
List2 = id4 id5 id6

列出List1时,将请求List2,这必须删除List1并列出List2

使用追加它会使列表更长,但我希望它用当前的

替换它

4 个答案:

答案 0 :(得分:0)

jQuery的html()每次调用时都会替换所有内容,因此您将在每次迭代时替换内容。

要仅在循环完成后替换内容,您可以执行

function showResponse(response) {
    var $list  = $('#list');
    var items  = response.items;
    var result = "";

    $.each(items, function(id, el){
        result += el.id.videoId;
    });

    $list.html(result);
}

答案 1 :(得分:0)

试试这个:

$list.html($list.html() + 'el.id.videoId');

jQuery.html()返回对象中的当前html

jQuery.html(data)将对象html设置为数据

答案 2 :(得分:0)

当append将完成工作时,不确定为什么要使用html()。

清空列表并附加新元素

$list.empty();
$.each(items, function(id, el){
    $list.append("<li>" + id + "</li>");
});

如果你想使用html(),那么建立一个包含所有列表项的字符串并立即设置它。

答案 3 :(得分:0)

你尝试过吗?

$list.empty().append('el.id.videoId');