上面那里有点错误,是这样的
我要怎么才能在这里面
$("#div"+i).mouseover(function(i){
alert(i);
});
把i给传进去,试了好久,一直没成功,求帮助,谢谢。 

解决方案 »

  1.   

    你可以通过字符串截取的方法来获得i,
    $("#divavatar"+i).mouseover(function(e){
       var that=$(this).attr('id');
       var i=that.substr(that.length-2,1);
       alert(i);
    });
      

  2.   


    只能这样了吗?你的方法是可行的,谢谢。我迷惑在里面那个function不能直接传前面的值进去?
      

  3.   

    $(document).ready(function(){
        var tr=document.getElementsByClassName("divavatar");
        for (var i=1;i<=tr.length;i++){
    (function(s){
            $("#div"+i).mouseover(function(){
                alert(s);
            });
    })(i)传入的参数应该是event对象 
      

  4.   

    我一直这么用$("div[id^='div']").mouseover(
        function()
        {
               var id = $(this).attr("id").replace(/div/,"");
         }
    );
      

  5.   


    只能这样了吗?你的方法是可行的,谢谢。我迷惑在里面那个function不能直接传前面的值进去?mouseover 这个方法里面的参数,不是你想传什么就传什么的,你要参照 API文档
      

  6.   

    for (var i=1;i<=tr.length;i++){
            $("#div"+i).mouseover(function(i){
                alert(i);
            });
    }
    i的作用域已经包含在mouseover里面了,在事件里面是可以直接使用,并不需要传值。
    ...mouseover(function(i){
      这个i在这里是Event对象,并不是for中的i了
    }