Javascript jquery addClass和removeClass问题

Javascript jquery addClass和removeClass问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在jQuery以及添加和删除类方面遇到了一些奇怪的问题。我试图看到json请求成功后,对于特定的超链接,它应该调用addClass和removeClass来添加/删除特定的css属性。当我点击它时,它永远不会工作,但是当我独立尝试css类时,它们工作得很好。这里有我遗漏的东西吗?谢谢你的意见 $(document).ready(function() { $('.add_link').bind("click", function(e) { $.getJSON("/add/

我在jQuery以及添加和删除类方面遇到了一些奇怪的问题。我试图看到json请求成功后,对于特定的超链接,它应该调用
addClass
removeClass
来添加/删除特定的css属性。当我点击它时,它永远不会工作,但是当我独立尝试css类时,它们工作得很好。这里有我遗漏的东西吗?谢谢你的意见

$(document).ready(function() {
    $('.add_link').bind("click", function(e) {
        $.getJSON("/add/", function(json) {
            if (json.SUCCESS != null) {
                $(this).removeClass('blue_button_link').addClass('gray_out_button_link');
            }
        });
    });
});

在事件处理程序中,您有另一个上下文,因此您不能按照自己的意愿使用
this
。尝试:

$(document).ready(function() {
    var link = $('.add_link');

    link.bind("click", function(e) {
        $.getJSON("/add/", function (json) {
            if (json.SUCCESS != null) {
                link.removeClass('blue_button_link').addClass('gray_out_button_link');
            }
        });
    });
});
或:


在事件处理程序中,您有另一个上下文,因此您不能按照自己的意愿使用
this
。尝试:

$(document).ready(function() {
    var link = $('.add_link');

    link.bind("click", function(e) {
        $.getJSON("/add/", function (json) {
            if (json.SUCCESS != null) {
                link.removeClass('blue_button_link').addClass('gray_out_button_link');
            }
        });
    });
});
或:

$(此)
不再是对
$('add_link')
请求中的
$的引用。您需要在请求之外存储对它的引用<代码>变量me=$(此)然后
$.getJSON
。。。最后,在if语句中,
me.removeClass()
…等,这应该对
$(这)
不再是对
$('add\u link')
请求中的
$的引用。您需要在请求之外存储对它的引用<代码>变量me=$(此)然后
$.getJSON
。。。最后,在if语句中,
me.removeClass()
…等等,这应该对您有好处
$(document).ready(function() {
    $('.add_link').bind("click", function(e) {
        var link = $(this);

        $.getJSON("/add/", function (json) {
            if (json.SUCCESS != null) {
                link.removeClass('blue_button_link').addClass('gray_out_button_link');
            }
        });
    });
});