我的剧本遇到了小问题。
脚本看起来很有效,但每次添加所选类时。它在onclick之前重置它,但是类不会删除它。可能有什么问题?
集合中只有.payment类的一个元素应该有一个.selected类
$(".payment").each(function() {
$(".payment").removeClass("selected");
$(this).on("click", function() {
$(this).addClass("selected");
$(this).find('input[type="radio"]').prop("checked", true);
});
});

.selected {
background: #eaeaea;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="payment">
<input type="radio" /> example
</div>
<div class="payment">
<input type="radio" /> of my
</div>
<div class="payment">
<input type="radio" /> problem
</div>
&#13;
答案 0 :(得分:1)
您刚刚开始删除selected
课程。我假设您希望每次选中复选框时都将其删除,如下面的代码所示。
$(".payment").each(function() {
$(this).on("click", function() {
$(".payment").removeClass("selected");
$(this).addClass("selected");
$(this).find('input[type="radio"]').prop("checked", true);
});
});
&#13;
.selected {
background: #eaeaea;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="payment">
<input type="radio" /> example
</div>
<div class="payment">
<input type="radio" /> of my
</div>
<div class="payment">
<input type="radio" /> problem
</div>
&#13;
答案 1 :(得分:0)
也许您应该修改代码以避免多个事件绑定。在循环中绑定事件不是一个好习惯。
$(document).ready(function() {
$(document).on("click", ".payment", function() {
$(".payment.selected").removeClass("selected");
$(this).addClass("selected");
$(this).find('input[type="radio"]').prop("checked", true);
});
});
答案 2 :(得分:0)
从所有.payment
中删除类并为当前元素添加类:
$(".payment").on("click", function() {
$(".payment").removeClass("selected");
$(this).addClass("selected");
$(this).find('input[type="radio"]').prop("checked", true)
});
&#13;
.selected {
background: #eaeaea;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="payment">
<input type="radio" name="myRadio"/> example
</div>
<div class="payment">
<input type="radio" name="myRadio"/> of my
</div>
<div class="payment">
<input type="radio" name="myRadio"/> problem
</div>
&#13;