javascript - 检查特定类来执行 switch 语句

标签 javascript jquery switch-statement

我正在基于主体类中的特定类运行 json 调用,以帮助减少各个页面上不必要的调用。

例如:

$(function () {
    if ($('body.CLASSNAME1').length == 1) {
        //JSON call
    });
});

$(function () {
    if ($('body.CLASSNAME2').length == 1) {
        //A Different JSON call
    });
});

为了解决这个问题,我想要一个函数并根据给定的类名执行内部函数。我正在考虑一个 switch 语句,但无法理解逻辑,我从 $.hasClass('') 开始,但无法找出任何其他基于的读取和执行方式唯一的类名。

最佳答案

只需创建一个对象,将类名称映射到调用各种 XHR 调用的函数,然后枚举该对象,测试每个类名称,并在 body 具有该类时调用该函数。

 $(function(){
    // Map your keys (class names) to your JSON calls
    var classes = {
        CLASSNAME1: function() {
                        // JSON call
                    }
        CLASSNAME2: function() {
                        // A Different JSON call
                    }
    };

    // enumerate the object, calling the related function for each found class
    $.each(classes, function(key, func) {
        if ($("body").hasClass(key))
            func();
    })
 });
<小时/>

或者,如果不需要额外的逻辑,您可以使用 $.proxy 简单地绑定(bind) XHR 参数:

    var classes = {
        CLASSNAME1: $.proxy($, "ajax", {...parameters...})
        CLASSNAME2: $.proxy($, "ajax", {...parameters...})
    };

关于javascript - 检查特定类来执行 switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16657528/

相关文章:

javascript - 响应来自 python Web 应用程序的 ajax 请求

javascript - Google Analytics 如何查看异常

javascript - 为什么 datepicker beforeShowDay 没有按预期运行

android - 在 ListView 中获取 Switch 状态

c++ - 案例 "wrong list": what happens?

javascript - 在不使用 JavaScript 中的 Object.assign(ES6 特性)的情况下从另一个对象扩展

javascript - 克隆kendo DataSource会删除CRUD吗?

javascript - 动态显示表单数据到表格

javascript - JQuery 验证错误放置

android - 在 Android 中实现 switch case 语句的正确方法是什么?