$(".dist_radio").click(function() {
$(this).attr("class", "dist_radio dist_on");
if (!$(this)) {
$(".dist_on").attr("class", "dist_radio");
}
console.log($(this).attr("class"));
});
我使用此代码来设置单选按钮的样式,除了我点击另一个按钮,其他按钮不会被dist_on
类删除之外,它还有效。你能告诉我它有什么问题吗?
答案 0 :(得分:4)
您可以使用 .not() :
从匹配元素集中删除元素。
$(".dist_radio").click(function () {
$(this).attr("class", "dist_radio dist_on");
$(".dist_on").not(this).attr("class", "dist_radio");
console.log($(this).attr("class"));
});
或更好地使用 .addClass() 和 .removeClass() 让您的代码更加清晰:
$(".dist_radio").click(function () {
$(".dist_radio").removeClass("dist_on");
$(this).addClass("dist_on");
});
答案 1 :(得分:4)
使用.not
方法:
$(".dist_radio").not(this).attr("class", "dist_radio");
但是对于您的逻辑,您可以像下面这样做(使用addClass
/ removeClass
而不是直接更改class
属性):
$(".dist_radio").click(function() {
$(".dist_radio").removeClass('dist_on');
$(this).addClass('dist_on');
});
答案 2 :(得分:2)