如果选中输入无线电 更改父级的颜色:无法使其与 jQuery 一起使用



当我点击input的单选时,<label>的文本应该改变它的文本颜色。

但是它不能在我的jQuery代码中做到这一点:

$("#radios").find("input").change(function(){
if ($(this).checked)
    $(this).parent().addClass('libelulas');
else
    $(this).parent().removeClass('libelulas');
});

我一直在检查chrome中的检查器,似乎它甚至没有创建类,无论父(标签)或输入。

这是我的jsfiddle http://jsfiddle.net/Arkl1te/2MnEU/4/

您需要将其包装在$(document).ready中,并在change()事件上使用正确的选择器:

$(document).ready(function(){
  $(".radios input[type=radio]").change(function(){
      $(this).parent().addClass('libelulas');
  });
});

jsFiddle。


更新:

忘记在问题中给出与您的代码相关的示例,而不仅仅是jsFiddle:

$(document).ready(function(){ 
  $(".radios input[type=radio]").change(function(){
      $(this).parent().addClass('libelulas');
      $("input[type=radio]:not(:checked)").parent().removeClass('libelulas');
  }); 
});

jsFiddle。

最新更新