この例を修正したいと思います:
var $foo = $('#foo');
for (var i = 0; i < 10; i++) {
$foo.append($('<li></li>').text(i).on('click', function() {
alert(i);
}));
}
i
クリックしたときに正しい値を警告するようにします。
これどうやってするの?答えはクロージャーを使用することであることは知っていますが、それを実装する方法がわかりません。
やってみました
$foo.append($('<li></li>').text(i).on('click', function() {
return (function(i) {
alert(i);
})();
}));
しかし、それは戻りますundefined
。
JSFiddle はこちら: http://jsfiddle.net/tmcw/4phm7/1/