A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

和同学一起做公益项目,中间用到了jquery。

其中一段的jquery代码是这样的:

$(document).ready(function(){
        $(".btnchange").on("click",function(){
            var value=$(this).attr("name");
            console.log(value)
            $.get("translationOnline.php",
                {
                    name:value
                },
                function(data){
                    $(this)<span style="font-family: Arial, Helvetica, sans-serif;">.parent().html(data);</span>
                });
        })
    })

发现这么写的时候,回调函数根本没有执行反应,连用hide()都没有反应,查了一下问题,发现好像是回调函数里面的$(this)不会指向元素自身。所以做法是在回调函数之前把$(this)对象保存下来:

$(document).ready(function(){
        $(".btnchange").on("click",function(){
            var value=$(this).attr("name");
            var _this=$(this);
            console.log(value)
            $.get("translationOnline.php",
                {
                    name:value
                },
                function(data){
                    _this.parent().html(data);
                });
        })
    })

这样就可以作用了。
---------------------
【转载】
作者:哈哈进步
原文:https://blog.csdn.net/hahajinbu/article/details/50813674


3 个回复

倒序浏览
ヾ(◍°∇°◍)ノ゙
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马