我无法在单选按钮列表的标签中添加类,下面是html代码:
<div class="custom-radio">
<input id="MainContent_rblUserType_2" type="radio" checked="checked" value="3" name="MainContent$rblUserType">
<label class="" for="MainContent_rblUserType_2">I am buyer</label>
</div>
我试图在标签中添加类的Jquery是:
$(document).ready(function() {
if($("input.check").is(":checked")){
$(this).label.addClass("checked");
}
});
答案 0 :(得分:8)
使用.next()
$("input:radio").next('label').addClass("checked");
此外,您的输入没有名称为check
的任何类,因此您可能希望将其更改为
$("input:radio").is(":checked")
您也可以这样做,而不是if条件 -
$(document).ready(function() {
$("input:radio:checked").next('label').addClass("checked");
});
演示--->
http://jsfiddle.net/tLFjA/5/
答案 1 :(得分:1)
在您的情况下,$(this)
是文档,而不是输入。尝试而不是:
$(document).ready(function() {
if($("input.check").is(":checked")){
$(this).label.addClass("checked");
}
});
这个:
$(document).ready(function() {
$("input.check:checked").next('label').addClass('checked')
});
此外,您可能需要绑定更改事件。
$('input.check').change(function(){
var $this = $(this);
$this.is(:checked) ? $this.next('label').addClass('active') : $this.next('label').removeClass('active')
})
还有CSS3的可能性:
input.check:checked ~ label{ your styles}
~
可以是+,具体取决于您的DOM。
答案 2 :(得分:1)
<div class="custom-radio">
<input id="MainContent_rblUserType_2" class="check" type="radio" checked="checked" value="3" name="MainContent$rblUserType">
<label class="checkLabel" for="MainContent_rblUserType_2">I am buyer</label>
</div>
$(document).on("click", 'input.check', function () {
if ($(this).is(":checked")) {
$('label.checked').removeClass('checked');
$(this).next("label.checkLabel").addClass("checked");
}
});
您需要添加类以输入和标签,如上所示 它将事件绑定到无线电输入,当检查时,添加类并在未检查无线电输入时删除类 Demo Jsfiddle,http://jsfiddle.net/prem_nagalla1/h7BZa/