$(document).ready(function(){
         $(".button_box > a").each(function(i){
            $(".button_box > a").eq(i).hover(function(){
                
                alert(i);
            });
          });
})<div class="button_box">
<a href="#"><div class="button1" ></div></a>
<a href="#"><div class="button2" ></div></a>
<a href="#"><div class="button3" ></div></a>
<a href="#"><div class="button4" ></div></a>
</div>jquery写的,大家看看,我不想用在html加js函数的方式,本人风格就是美工给我什么样的静态页我就尽最大努力原封不动,习惯问题希望大家看看用jquery如何解决这个问题

解决方案 »

  1.   

    执行两次是正常的。一次是离开的那个A,一次是进入的那个A。
    但在IE9下,执行却是3次。两次为离开的对象,而且是两个线程执行的。这就有点搞不懂了。
      

  2.   

    晕死,低级错误,原来你的hover少了一个out参数
    $(function(){
    $( ".button_box   >   a ").each(function(i){ 
    $( ".button_box   >   a ").eq(i).hover(function(){ 
    alert(i); 
    },function(){} // 这个就是你少的那个参数
                            ); 
    }); 
    });