动态设置onClick属性

时间:2013-09-10 08:07:54

标签: javascript html

我试图在循环中设置动态生成的div的onClick属性,但下面的代码不能生成div。有人可以帮帮我吗?

<script type="text/javascript">
function gengrid()
      {
          var i=0;
          var num_stud=8;
          var newdiv;
          var divIdName;
          var maindiv;
          for(i=1;i<=num_stud;i++)
          {
             newdiv = document.createElement('div');
             divIdName = '50'+i;
             newdiv.setAttribute('id',divIdName);
             newdiv.onClick= function(){addit(i);};
             newdiv.innerHTML = '<img src=50'+i+'.jpg alt="a"></img>';
             maindiv=document.getElementById('main');
             maindiv.appendChild(newdiv);
          }
      }
   gengrid();
   function addit(picno)
      {
          alert(picno+'');
       } 
  </script>

1 个答案:

答案 0 :(得分:1)

onclick方法应该有一个小写的c。

看到这个小提琴:http://jsfiddle.net/MTpUV/

<script type="text/javascript">
function gengrid()
      {
          var i=0;
          var num_stud=8;
          var newdiv;
          var divIdName;
          var maindiv;
          for(i=1;i<=num_stud;i++)
          {
             newdiv = document.createElement('div');
             divIdName = '50'+i;
             newdiv.setAttribute('id',divIdName);
             newdiv.onclick= function(){addit(i);};
             newdiv.innerHTML = '<img src=50'+i+'.jpg alt="a"></img>';
             maindiv=document.getElementById('main');
             maindiv.appendChild(newdiv);
          }
      }
   gengrid();
   function addit(picno)
      {
          alert(picno+'');
       } 
  </script>