1

我希望实现的是增加计数,然后在每次通过使用 each() 时将其附加到 DOM。我现在拥有的是最后添加的最终计数。例如。

假设我有 100 个 div,每次通过它时都应该添加新的计数,例如 1,2,3,4,5,6,7... 等等。但目前它计算所有对象并在最后附加 100。请有人能指出我出错的方向吗?

我已经添加了一个非常基本的版本,我希望在下面实现......这里也是一个JSbin(我尝试了 jsfiddle,但它似乎对我来说已经失败了)。

$(".toCount").each(function(i){
    $("#count").text(i + 1);
}); 
4

3 回答 3

1

使用追加()

将参数指定的内容插入到匹配元素集中每个元素的末尾。

在你的情况下text()是替换你的 div 的文本,所以你最后得到 100 ..

 $("#count").append(i + 1);
于 2013-01-25T11:04:29.890 回答
1

使用附加

$("#count").append(i + 1);
于 2013-01-25T11:05:51.550 回答
1
$('input').on('click',function () {
  var len = $(".toCount").length;
  var arr = [];
  for (var i = 0; i < len; i++ ) {
     arr.push(i+1);
  }
  $('#count').text(arr.join());
});

我不知道您所说的 1、2、3 ... 是什么意思,如果您想逐步计算元素,您可以使用setInterval函数:

$('input').on('click',function () {
  var l = $(".toCount").length,
      $c = $('#count'),
      i = 0;
  var t = setInterval(function() {
       i++;
       $c.text(i);
       if (i === l) clearInterval(t);
  }, 10);  
});

http://jsbin.com/eronel/17/edit

于 2013-01-25T11:09:14.700 回答