JS / jQuery列表提醒其数字

时间:2015-06-27 07:23:10

标签: javascript jquery

我正在制作一个div列表,并希望每个人都提醒他们的号码,但结果我所有的div都警告11。

for(var i = 1; i <= 10; i++) {
    $('#chatlist').append(
        $("<div class='chatlist_cell'>" + i + "</div>").click( function() { alert(i) } )
    )
}

1 个答案:

答案 0 :(得分:2)

那是因为你没有通过关闭来保留我

for (var i = 1; i <= 10; i++) {
  (function(index){
    $('#chatlist').append($("<div class='chatlist_cell'>" + index + "</div>").click(function() {
        alert(index)
    }))
  })(i);
}

另一种选择是使用each()

 $.each(Array(10), function(index) {
  $("<div class='chatlist_cell'>" + (index + 1) + "</div>").appendTo('body').click(function() {
    console.log(index + 1)
  });
});

&#13;
&#13;
$.each(Array(10), function(index) {
  $("<div class='chatlist_cell'>" + (index + 1) + "</div>").appendTo('body').click(function() {
    console.log(index + 1)
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
&#13;
&#13;
&#13;