为什么将$("#btnshow")、$("#btnhide")替换成$(this)按钮就不能变灰了呢?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>show()和hide()方法动画方式显示和隐藏元素</title>
        <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
        <link href="style.css" rel="stylesheet" type="text/css" />
    </head>
    
    <body>
        <h3>show()和hide()方法动画方式显示和隐藏元素</h3>
        <input type="button" id="btnshow" value="显示"/>
        <img scr="http://img.mukewang.com/52e4aec90001924d06800599.jpg" alt="1234567890123456789">
        <input type="button" id="btnhide" value="隐藏"/>
        <script type="text/javascript">
            $(function(){
                $("#btnshow").on("click",function(){
                    $("img").show(3000,function(){
                        $(this).attr("disabled",true);
                        $("#btnhide").attr("disabled",false)
                    });
                });
                $(function(){
                    $("#btnhide").on("click",function(){                 $("img").hide(3000,function(){
                        $(this).attr("disabled",true);
                        $("#btnshow").attr("disabled",false);
                    });
                });
            });
        });
        </script>
    </body>
</html>


我们刘长瑞
浏览 2474回答 2
2回答

柠檬酸钠

因为$(this)在img的回调函数内,所以在这里的$(this)应该指的是img标签,在回调函数外面把$(this)可以用$this记录下来,然后在回调里用$this就可以了

慕工程0302858

这里的this 指的是img  因为在img 的事件里面
打开App,查看更多内容
随时随地看视频慕课网APP