1

当我单击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/

4

1 回答 1

1

您需要将其包装起来$(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在这里。

于 2013-05-31T21:47:25.013 回答