我有以下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点击的.有解决方法吗?