0 javascript jquery for-loop cloning
示例是这个,这不起作用.我的错是什么?
var i=1;
for(i; i <=165; i++){
jQuery(".tekAlan"+i).click(function() {
jQuery(".tekAlan"+i).addClass("tekAlanSecildi");
});
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
您i通过引用传递,而不是通过值传递,因此i不是指您在循环运行后认为的数字.看看这个简单的例子,看看我的意思.
在这种情况下,您可以只使用属性选择器和this:
jQuery('[class^="tekAlan"]').click(function() {
jQuery(this).addClass("tekAlanSecildi");
});
Run Code Online (Sandbox Code Playgroud)
如果要修复当前代码,则必须使用匿名函数进行阴影 i处理:
for(var i = 1; i <= 165; i++){
(function(i) {
jQuery(".tekAlan" + i).click(function() {
jQuery(".tekAlan" + i).addClass("tekAlanSecildi");
});
})(i);
}
Run Code Online (Sandbox Code Playgroud)