小编mau*_*srx的帖子

用于循环增量的JavaScript表现奇怪

我有以下JS:

for ( var i = 1; i <= 2; i++ ) {
    $(window).load(function() {
        alert(i);
    });
}
Run Code Online (Sandbox Code Playgroud)

当页面加载时,它会按预期两次发出警报.但奇怪的是i两个警报的价值都是3.我希望i第一个警报的值为1,第二个警报的值为2.是什么原因造成的?先感谢您!

更新#1

如果我需要将函数放在循环中,因为我想使用数字增量作为选择器,该怎么办?有这个问题的解决方案吗?这就是我的意思

for ( var i = 1; i <= 2; i++ ) {
    $( '.element-' + i + ' .span' ).click( function( event ) {              
        $( '.element-' + i + ' ul' ).show( 'fast' );         
    });
}
Run Code Online (Sandbox Code Playgroud)

点击功能没有被触发,因为我们已经知道了i = 3.我想点击功能得到发射时.element-1 .span.element-2 .span点击的.有解决方法吗?

javascript jquery for-loop

2
推荐指数
1
解决办法
463
查看次数

标签 统计

for-loop ×1

javascript ×1

jquery ×1