页面加载时默认选中单选按钮。我希望包含此单选按钮的标签添加一个CSS类。
我的代码出了什么问题?
JSFIDDLE:http://jsfiddle.net/3ar43086/4/
$(document).ready(function() {
if ($('input[type=radio]').is(':checked')) {
$(this).parent('label').addClass('checked'); }
});
<label for="myRadio"><input type="radio" id="myRadio" value="Example Radio Button" name="amount" checked>Example Radio Button</label>
.checked { background: yellow; }
答案 0 :(得分:5)
$(this)
代表document
而不是input
。
这解决了它:
$(document).ready(function() {
if ($('input[type=radio]').is(':checked')) {
$('input[type=radio]').parent('label').addClass('checked');
}
});
你也可以这样做:
$(document).ready(function() {
$('input[type=radio]:checked').parent('label').addClass('checked');
});
答案 1 :(得分:0)
this
指的是window
$(this).parent('label').addClass('checked');
你应该这样做:
$(document).ready(function() {
var myInput = $('input[type=radio]');
if (myInput.is(':checked')) {
myInput.parent('label').addClass('checked'); }
});
或者,如果您想要处理页面上的所有input
:
$(document).ready(function() {
$('input[type=radio]').each(function(){
if ($(this).is(':checked')) {
$(this).parent('label').addClass('checked');
}
});
});