无法通过jquery addClass向主体添加类

Unable to add class to body via jquery addClass

本文关键字:主体 添加 addClass jquery      更新时间:2023-09-26

我正在尝试jquery "请等待加载动画";这里是

<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"));

记录类时,我得到false

为什么没有添加类?

编辑

以上代码位于标题部分

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

或:

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

如果我们可以看到您的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()逻辑中引用它。