4种不同的元素,功能相似

时间:2017-07-06 08:04:45

标签: jquery function element

我是JQuery的新手,我试图找出如何在JQuery中使用类似的函数来处理不同的元素。

用于输入单选按钮,

function * _check(),* _UNcheck()做同样的事情,但对于不同的元素。

如何简化JQuery代码:

$('.A').click(function () {
    if ($("#A_a").hasClass("un_check") && $("#B_b").hasClass("un_check")) {
        A_check();
    } else if ($("#A_a").hasClass("un_check") && $("#B_b").hasClass("check")) {
        A_check();

        B_UNcheck();
    };
});
$('.B').click(function () {
    if ($("#A_a").hasClass("un_check") && $("#B_b").hasClass("un_check")) {
        B_check();
    } else if ($("#A_a").hasClass("check") && $("#B_b").hasClass("un_check")) {
        B_check();

        A_UNcheck();
    };
});

//------------------------------------------------------------------------------
function A_check() {
    $("#A_a").removeClass("_hover");
    $("#A_a").addClass("_check");

    $("#A").prop("checked", true);
    $("#B").prop("checked", false);

    $("#A_a").removeClass("un_check").addClass("check");
};
function A_UNcheck() {
    $("#A_a").removeClass("_check");

    $("#A_a").removeClass("check").addClass("un_check");
};
function B_check() {
    $("#B_b").removeClass("_hover");
    $("#B_b").addClass("_check");

    $("#A").prop("checked", false);
    $("#B").prop("checked", true);

    $("#B_b").removeClass("un_check").addClass("check");
};
function B_UNcheck() {
    $("#B_b").removeClass("_check");

    $("#B_b").removeClass("check").addClass("un_check");
};

1 个答案:

答案 0 :(得分:1)

希望这会有所帮助:

$('.A').click(function () {
        check("A_a", "A", "B");
        unCheck("B_b");
});
$('.B').click(function () {
        check("B_b", "B", "A");
        unCheck("A_a");
});

function check(firstId, secondId, thirdId){
    $("#"+firstId).removeClass("_hover");
    $("#"+firstId).addClass("_check");

    $("#"+secondId).prop("checked", true);
    $("#"+thirdId).prop("checked", false);

    $("#"+firstId).removeClass("un_check").addClass("check");
}

function unCheck(firstId) {
    $("#"+firstId).removeClass("_check");
    $("#"+firstId).removeClass("check").addClass("un_check");
};

由于