为什么我的功能增加加2



你好,我写了一个函数:

$(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?

感谢您的回答。那真的是愚蠢的错误...

代码i++增量i。您在循环中两次具有此代码:一次循环语句本身,然后在DOM代码中进行内部循环。您需要删除或另一个。在循环中增加i是很自然的,因此请通过更改以下来删除另一个:

$tile.length + i++

仅:

$tile.length + i

您两次递增i

$(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>');
    });
});

您的增量1两次:

  1. 您的循环语句中的第一个

    for (i = 1; i <= 16; i++)
    
  2. ,然后在循环主体中再次

    ($tile.length + i++)
    

您在两个地方增加了i。

内部循环

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

$tile.length + i++

因此,它正在增加两次

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

而是这样做:($ tile.length i)

最新更新