【问题标题】:AddClass to group without removing it from similar groups将类添加到组而不将其从类似组中删除
【发布时间】:2014-10-10 01:59:46
【问题描述】:

我已经构建了一组按钮,它们的作用类似于单选按钮。当您单击给定组内的按钮时,将选择单选,并且应将一个类添加到该组中选择的按钮。

收音机工作正常,但我的课程并未与按钮组隔离 - 它只是将课程添加到在所选组中单击的按钮。我正在尝试将课程保留在该组内单击的按钮上。

我做错了什么?

$('.radio-group .radio-btn .btn').click(function () {
    $('.radio-group .radio-btn .btn').removeClass('btn-primary');
    $(this).addClass('btn-primary');
});

http://jsfiddle.net/vcx0f8xc/

【问题讨论】:

    标签: jquery addclass removeclass


    【解决方案1】:

    试试下面的代码

    $('.radio-group .radio-btn .btn').click(function () {
        $(this).closest('ul').find('.btn-primary').removeClass('btn-primary');
        $(this).addClass('btn-primary');
    });
    

    只是提醒您单击'<p>' 元素会更改颜色,但未选中单选按钮。

    【讨论】:

    • 感谢 Abhishek 但请原谅我,因为我可能没有很好地解释这一点。我想从除所选按钮之外的每个按钮中删除该类。在我单击一个新类后,您的解决方案不会删除该类。
    • 它与您的问题完全相反-但在这种情况下,您的解决方案运行良好。它从每个按钮(组 1 和组 2)中删除类,并将类添加到当前选定的单选按钮。如果我理解错误,请纠正我。
    【解决方案2】:

    试试这个

    $('.radio-group .radio-btn .btn').click(function () {
      $(this).parent().parent().find('.btn').removeClass('btn-primary');
      $(this).addClass('btn-primary');
    

    });

    【讨论】:

      【解决方案3】:

      只需要使用 parent() 来查找 btn...用作

      $('.radio-group .radio-btn .btn').click(function () {
        $(this).parent().parent().find('.btn').removeClass('btn-primary');
        $(this).addClass('btn-primary');
      });
      

      Demo

      我的互联网滞后..我认为有人事先发布了相同的内容

      【讨论】:

      • @JosephSjoblom 快乐编码 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多