jQuery单击变量范围问题

时间:2012-07-10 20:53:32

标签: jquery

我设置了这个小提琴我遇到的问题。我需要脚本来隐藏动画完成后单击的按钮。这样做的正确方法是什么?

http://jsfiddle.net/digitalaxis/utJKU/

HTML:

<div>
    <a id='button1' href="#">Button 1</a>
    <a id='button2' href="#">Button 2</a>
    <a id='button3' href="#">Button 3</a>
    <a id='button4' href="#">Button 4</a>
    <a id='button5' href="#">Button 5</a>
</div>
<div id="box">
    Some element
</div>

JS:

$('a[id^="button"]').click(function() {    
    $('#box').hide('slow', function() {        
        $('a').hide('slow');
    });
});

1 个答案:

答案 0 :(得分:8)

设置接收$(this)的全局变量,并在回调中使用,如下所示:

$('a[id^="button"]').click(function() {
   var $this = $(this);
   $('#box').hide('slow', function() {
        $this.hide('slow');
   });
});​