无法通过jquery addClass向class添加类

时间:2015-08-09 20:36:32

标签: javascript jquery

我正在尝试jquery"请等待加载动画"作为here

<script type="text/javascript">
        var body = $("body");

        $(document).on({
            ajaxStart: function () {
                console.log("ajax start");
                body.addClass("my-loading");
                console.log(body.hasClass("my-loading"));
            },
            ajaxStop: function () {
                console.log("ajax stop");
            }//$body.removeClass("my-loading"); }}
        });
    </script>

但是在使用console.log(body.hasClass("my-loading"));

记录课程时,我会收到错误

为什么班级没有被添加?

修改

以上代码位于标题部分。

2 个答案:

答案 0 :(得分:1)

将所有代码放入$(document).ready(function() { });

或者:

$(function(){
     //jQuery 
});

答案 1 :(得分:1)

如果我们能够看到你的ajax调用会更好,因为$ .ajaxStart在完成ajax调用时触发,而不是在触发ajax启动的事件期间触发。如果我们可以看到ajax调用本身,我们可以排除ajax调用格式错误或其他内容的可能性。

另外,您是否尝试过此实现?

var body = $("body");
$(document).ajaxStart(function () {
    body.addClass("myClass");
    console.log(body.hasClass("myClass"));
});
$(document).ajaxStop(function () {
  //...
});

作为旁注,除非你想将body变量放在全局命名空间中,否则你应该在ajaxStart()逻辑中引用它。