为什么我的函数递增加2?

时间:2017-12-22 17:04:26

标签: javascript increment

您好我写了一个函数:

$(function() {
    $('button').on('click', function() {
        var $tile = $('.tile');
        for (i = 1; i <= 16; i++)
        $("#board").append('<div id="c' + ($tile.length + i++) + '" class="card"></div>');
    });
});

为什么我的id增加2而不是1?

感谢任何人的回答。那真是个愚蠢的错误......

5 个答案:

答案 0 :(得分:4)

代码i++递增i。你的循环中有两次这样的代码:一次在循环语句本身,一次在DOM代码内循环。你需要删除或其他。在循环中增加i是很自然的,所以通过更改它来删除另一个:

$tile.length + i++

只是:

$tile.length + i

答案 1 :(得分:4)

您正在递增i两次。

&#13;
&#13;
$(function() {
    $('button').on('click', function() {
        var $tile = $('.tile');
        for (i = 1; i <= 16; i++)
        $("#board").append('<div id="c' + ($tile.length + i) + '" class="card"></div>');
    });
});
&#13;
&#13;
&#13;

答案 2 :(得分:2)

你递增两次:

  1. 循环语句中的第一个

    for (i = 1; i <= 16; i++)
    
  2. 然后又在循环体

    ($tile.length + i++)
    

答案 3 :(得分:0)

你在两个地方递增我。

内部循环

[object Object]

for (i = 1; i <= 16; i++)

因此,它增加了两倍

答案 4 :(得分:0)

不要再增加i: ($ tile.length + i ++)

改为: ($ tile.length + i)