你好,我写了一个函数:
$(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两次:
-
您的循环语句中的第一个
for (i = 1; i <= 16; i++)
-
,然后在循环主体中再次
($tile.length + i++)
您在两个地方增加了i。
内部循环
for (i = 1; i <= 16; i++)
和
$tile.length + i++
因此,它正在增加两次
不要再增加我:($ tile.length i )
而是这样做:($ tile.length i)