jQuery不会添加或删除类

jQuery doesn't add or remove class

本文关键字:删除 添加 jQuery      更新时间:2023-09-26

为什么我的jQuery代码不添加并稍后删除加载类?

$('#crop').click(function (ev) {
    ev.preventDefault()
    $.post('frame.php?action=crop', dimensions, function (json) {
        $('body').addClass('loading')
        picture()
    }, 'json')
    $('body').removeClass('loading')
})

Chrome和Firebug控制台是空的,所以应该没有任何错误。j查询版本是1.4.4

它的作用是删除然后添加类。

您将回调中的类添加到 $.post() ,这将在随后删除类很长时间内发生。如果您交换这些行(在$.post()调用后执行添加并在回调中删除),那么它将更接近您想要的。

我想你和订单混在一起...

$('#crop').click(function (ev) {
    ev.preventDefault()
    $.post('frame.php?action=crop', dimensions, function (json) {
        $('body').addClass('loading') // here you should remove the loading!
        picture()
    }, 'json')
    $('body').removeClass('loading') // here you should add the loading!
})

它应该是:

$('#crop').click(function (ev) {
    ev.preventDefault();
    $.post('frame.php?action=crop', dimensions, function (json) {
        $('body').removeClass('loading');
        picture();
    }, 'json');
    $('body').addClass('loading');
});

请注意,虽然用分号(;)终止您的行不是强制性的,但这是最佳实践。