Gibt es einen kürzeren Weg, um Folgendes zu tun?
var select_all_checkbox = $("input.select_all");
var is_checked = select_all_checkbox.prop("checked");
if (is_checked) {
select_all_checkbox.parent().addClass("selected");
} else {
select_all_checkbox.parent().removeClass("selected");
}
Verwenden toggleClass
wobei ein zweites Argument (ein boolescher Wert) übergeben wird, das angibt, ob die Klasse hinzugefügt werden soll oder nicht:
select_all_checkbox.parent().toggleClass("selected", is_checked);
Wenn Sie mehrere Elemente ausgewählt haben von input.select_all
Sie müssen sie jedoch durchlaufen:
$("input.select_all").each(function() {
$(this).parent().toggleClass('selected', this.checked);
});
Unbedingt! Sie können programmgesteuert zwischen den Methoden (addClass/removeClass) wählen und diejenige verwenden, die zurückgegeben wird, wenn ein Ausdruck ausgeführt wird.
So was:
var select_all_checkbox = $("input.select_all");
var is_checked = select_all_checkbox.prop("checked");
select_all_checkbox.parent()[is_checked ? "addClass" : "removeClass"]("selected");
14357500cookie-checkWie fügt man einem jQuery-Element eine Klasse hinzu, wenn eine Bedingung wahr ist, und entfernt dieselbe Klasse, wenn die Bedingung falsch ist?yes