我正在尝试在某些生成的jQuery按钮上设置单击操作。但在我的代码中,我认为是错误的,因为如果我点击任何按钮,console.log(buttonid)将显示#btn170, 表示最后一个按钮(data.incidentList.length)。有什么好奇的,下面的行$(buttonid).css(“border”,“3px solid red”)似乎工作正常,所有按钮都是红色边框。
dictionary: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data,
options
答案 0 :(得分:1)
您需要在闭包中包含按钮单击的代码,否则当您单击任何按钮时,它已将j
变量增加到其限制。
for(var j=0; j<=data.incidentList.length; j+= itemInterval)) {
var buttonid = '#btn'+ (j+1);
$(buttonid).css( "border", "3px solid red" );
(function(b){
$(b).click(function () {
console.log(b);
});
})(buttonid);
}
注意:我还摆脱了不必要的parseInt
电话。
最后,为您进一步阅读