在动态生成一段HTML时,我们需要对控件ID自动生成,方便我们后面对其的操作。见下例
<div style='cursor:pointer' value="+loppi+" id=as"+loopi+">"+currentdata.Title+"</div>
见上面我的loopi是递增的一个量 我想产生一组lay1 lay2 lay3...的一组ID
然后我需要对这组ID进行循环bind事件
以下这段代码放在一个循环中
this.loopEvent = function(){
$("#as"+loppi).bind("click",function(){});
}
本意是对这组id进行同样的操作
可出现了以下变化
id在进行循环bind时id的值由jquery自动加上了一组值,进行跟踪时发现,这个值的产生是在循环时由jquery在bind时产生。
解决只能换方法进行对控件操作
$("#content").find("div[id^='as']").bind("click",
function(i){});
当然你也可以使用jquery更多选择方法。
结论:如果我们自动产生控件ID,对自动产生控件ID不要放在循环中bind事件。