我是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");
};
答案 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");
};
由于