jquery bind时出现问题

在动态生成一段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事件。

原文地址:https://www.cnblogs.com/shouhongxiao/p/1688770.html