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
$('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 に答える
1

append()を使用します。

パラメーターで指定されたコンテンツを、一致した要素のセット内の各要素の末尾に挿入します。

あなたの場合text()、divのテキストを置き換えているので、最後に100になります..

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

追加を使用

$("#count").append(i + 1);
于 2013-01-25T11:05:51.550 に答える