当我点击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。