日期:2014-05-16  浏览次数:20394 次

大家来看看这个有意思的事情
我把问题简化一下:
想点击id为d1则显示1,点击id为d2则显示2..依次类推。
下面的代码,大家一看就知道不行,因i一直加,所以点哪个都是显示的“6”,谁来解决下。。。(不可能给每个ID都写一个吧~)
 
  <div   id= "d1 "> d1 </div>
  <div   id= "d2 "> d2 </div>
  <div   id= "d3 "> d3 </div>
  <div   id= "d4 "> d4 </div>
  <div   id= "d5 "> d5 </div>

<script   type= "text/javascript "   language= "javascript ">
<!--
for   (var   i=1;i <=5;i++   )
{
document.getElementById( "d "+i).onclick=function(){
alert(i);
};
}
//-->
</script>

------解决方案--------------------
<script type= "text/javascript " language= "javascript ">
<!--
for (var i=1;i <=5;i++ )
{
document.getElementById( "d "+i).attachEvent( "onclick ", "click ");
}

function click(){alert(event.srcElement.id}


//-->
</script>

------解决方案--------------------
document.getElementById( "d "+i).onclick= (function(id){ return function(){alert(id); }})(i);

------解决方案--------------------
document.getElementById( "d "+i).onclick=new Function( "alert( "+i+ ") ");