将 class 添加到选定的单选按钮

Add class to selected radio button

如何添加和删除仅对一组单选按钮中选定的单选按钮的 class?

<table class="radioClass" role="set1"><tbody><tr><td><input type="radio" value=" Yes " id="" name="j_id0:j_id37:j_id41"> label for="j_id0:j_id37:j_id41:0">  Yes </label></td><td><input type="radio" value=" No " id="" name="j_id0:j_id37:j_id41"<label for="j_id0:j_id37:j_id41:1">  No </label></td></tr></tbody></table>
 $(document).ready(function(){
    $("input[type='radio']").click(function(){
        var radioValue = $("input:checked").val();
       if(radioValue){
            //alert("Your are a - " + radioValue);
            $("input:checked").toggleClass("checked");
        }
    });

JSFiddle.

首先从所有单选按钮中删除 checked class,然后添加到特定的选定单选按钮。您可以这样做:

if(radioValue){
     $("input[type='radio']").removeClass("checked");
     $(this).toggleClass("checked");
}

DEMO

应该没有必要添加class。如果您想设置所选单选按钮的样式或使用 jQuery 访问它,只需使用 :checked 伪选择器。 jQuery documentation and at W3C.

中提供了更多阅读材料

但是,如果您出于某种原因仍想使用额外的 class 来执行此操作,则应该这样做:

$("input[type=radio]").change(function() {
    //Whenever a radio button is changed.
    //Using click will not catch cases where it is changed for other reasons than clicks.
    $("input[type=radio]")
        .removeClass("checked")  //Remove the class from all elements.
        .filter(":checked")      //Filter out the checked ones.
        .addClass("checked")     //Add the class to those.
});