即点击加载更多的时候,.removeClass()失效,没起作用,请问那里错了

//分页加载
jQuery(document).ready(function($) {

    var loading=false
    $('div#post-read-more a').click( function() {
        if(loading)return
        loading=true
        $this = $(this);
        $this.removeClass().addClass('loading'); //给a标签加载一个loading的class属性,可以用来添加一些加载效果
        var href = $this.attr("href"); //获取下一页的链接地址
        if (href != undefined) { //如果地址存在
            $.ajax( { //发起ajax请求
                url: href, //请求的地址就是下一页的链接
                type: "get", //请求类型是get
                error: function(request) {
                    loading=false
                },
                success: function(data) { //请求成功
                    loading=false
                    $this.removeClass('loading'); //移除loading属性
                    var $res = $(data).find(".list"); //从数据中挑出文章数据,请根据实际情况更改
                    $('.box').append($res); //将数据加载加进posts-loop的标签中。
                    var newhref = $(data).find("#post-read-more a").attr("href"); //找出新的下一页链接
                    if( newhref != undefined ){
                        $("#post-read-more a").attr("href",newhref);
                        
                    }else{
                        $("#post-read-more a").html("没有了").removeAttr("href");
                        
                    }
                }
    });   
}   
return false;   

});

});

即点击加载更多的时候,我想删掉按钮的样式,然后直接采用loading的样式,.removeClass()好像失效,没起作用。
即点击加载更多的时候,直接显示loading这个新按钮样式,请问如何做呀

MMTTMM
浏览 520回答 4
4回答

噜噜哒

ajax 里的this不是你所指的,this指向的是当前success回调函数。在请求ajax前var that = this,ajax里面统一用$(that)代替

繁华开满天机

同意楼上,你需要先把this赋值给一个局部变量
打开App,查看更多内容
随时随地看视频慕课网APP