带有2个类的JQuery toggleClass?

时间:2012-01-03 10:15:01

标签: javascript jquery

我正在使用此代码:(已更新)

   <script>
$(function(){
//Radio Item 1
$("#radio1").change(function() {

$("#defaultwrapper").addClass("background_color_selected");
$("#default_wrapper").removeClass("def_background_color");

});

//Radio Item 2
$("#radio2").change(function() {

$("#default_wrapper2").addClass("background_color_selected");
$("#default_wrapper2").removeClass("def_background_color");

});



});
</script>

我的问题是我需要更改所选收音机的背景颜色,而不是现在切换

4 个答案:

答案 0 :(得分:2)

  $(function(){
        $("#myradio").change(function() {
    $("#wrapper").toggleClass("classOne", this.checked).toggleClass("classTwo", !this.checked)
        }).change();
    })

答案 1 :(得分:1)

如果您最初classOne出现(f.e。<div class="classOne" id="test">Text</div>),您可以切换这样的课程:$("#test").toggleClass("classOne classTwo");。这将删除类classOne(因为它现在尚未出现),它将添加类classTwo(因为它尚未出现)。

答案 2 :(得分:1)

嗨我有同样的问题,但这就是我在我的项目中所做的......

    <script>
    $(".rtPanhold01").addClass("rtPanhold02");
        $(".rtPanhold01").removeClass("rtPanhold01");
</script>

答案 3 :(得分:1)

(更新) 在jQuery中,当取消选择无线电时,不会触发任何事件。尝试创建全局处理程序:

$(function(){
    $("input[type=radio]").change(function() {
        $("input[type='radio']", $(this).parent().parent()).each(function() {
            $(this).parent()
                .toggleClass("background_color_selected", this.checked)
                .toggleClass("def_background_color", !this.checked);
        });
    });
});

对于html:

<div>
    <div class="def_background_color"><input type="radio" id="radio1" name="aaa" /> One</div>
    <div class="def_background_color"><input type="radio" id="radio2" name="aaa" /> Two</div>
</div>

工作样本:http://jsfiddle.net/THrYJ/