为什么我的循环只返回一个值?

时间:2015-05-12 17:11:46

标签: jquery html ajax

这是我的HTML代码:

<div id="1">

  <div class="latest">
  </div>

  <div class="myclass">

  </div>

</div>

这是我的jquery:

$.each(data, function(k, v) {

    var len = data.length;

    $('.myclass').each(function() {

        if ($('.myclass').length == len) {
            $('.myclass').remove();
            $('.latest').prepend('<div class="myclass">' + v.TheDatas + '</div>');
        }

    });

});

我的问题是,如果 v .Datas 有很多值,例如 v .Datas 的总值是5那么它只给出第一个值,打印5次。我想要的是打印所有数据5次。

1 个答案:

答案 0 :(得分:1)

因为它找到了第一个匹配项,所以它会删除带有选择器的所有元素,并为

运行循环
$('.myclass').remove();

而不是$('.myclass') each,而应使用$(this)

类似的东西:

$.each(data, function(k, v) {
    var len = data.length;

    $('.myclass').each(function() {
        if ($(this).length == len) {
            $(this).remove();
            $('.latest').prepend('<div class="myclass">' + v.TheDatas + '</div>');
        }
    });
});