我有这个:http: //jsfiddle.net/ptWhn/
<pre>
/*HTML*/
`<label class="for_radio"><input type="radio"><span>radio-button-1</span></label>`
`<label class="for_radio"><input type="radio"><span>radio-button-2</span></label>`
/*jQuery*/
$(document).ready(function(){
$('input[type="radio"]').click(function() {
if($('input[type="radio"]').is(':checked')) {
$(this).closest('label').addClass('active');}
else {
$(this).closest('label').removeClass('active');
}
});
});
/*CSS*/
.active {
background: #ffc;
}
</pre>
......在选择单选按钮时,在选择单个背景颜色时,它的有意义有效,除了我无法弄清楚如何删除当未选中其中一个单选按钮时更改背景颜色的.active类。而且在 jsfiddle 中,由于某种原因,当单击另一个单选按钮时,备用单选按钮不会取消选择。
我无法弄清楚原因的第二件事是为什么我似乎需要在 if 语句之前使用 .click(function() 。也就是说,
if($('input[type="radio"]').is(':checked')) {
$(this).closest('label').addClass('active');}
... 本身不能作为 JS 片段工作。为什么?
将不胜感激任何见解。谢谢。