【问题标题】:Add class and remove class based on checked radio? [duplicate]根据选中的收音机添加类和删除类? [复制]
【发布时间】:2013-06-29 11:37:39
【问题描述】:

这是我的 jsbin,http://jsbin.com/ugufi/11 我删除了我为删除该类所做的任何尝试,因为它只是一直提醒未定义。

我的问题是当我将选中的类添加到我的目标时,我(如上所述)未能删除目标的类。

我不能使用父选择器或同级选择器,因为目标与我嵌套的无线电输入是分开的。

当一个新的收音机被选中时,它会不断添加到类中

<div class="radio1 radio2 radio3 radio4"></div>

我需要什么(我知道很简单,但我不确定要使用什么)。

<div class="radio1"></div><!-- Radio input value with radio1 is checked -->

然后当我检查新的无线电输入时

<div class="radio4"></div><!-- Radio input value with radio4 is checked -->

【问题讨论】:

  • 这和你上一个问题stackoverflow.com/questions/17367683/…有区别吗?
  • 不,我假设既然你指出这是不受欢迎的,但我迫切需要一个答案,我把头发拉出来,因为我知道这是一个简单的小补充,但我想不通出来了……
  • 另外我想如果我把标题改写得更简单一点,我会得到更多的答案
  • 你应该编辑你原来的问题,如果它是相同的。多次发布同一个问题以获得更快的答案确实是不受欢迎的。
  • 好的,如果您是管理员或有能力删除这篇文章,请继续。我只是想继续我的项目,我讨厌跳过步骤,所以我觉得我无法前进直到我把这段烦人的代码弄出来……

标签: jquery radio-button addclass removeclass


【解决方案1】:

这不是真的,您可以使用siblings 方法,您的元素不必是所选元素的下一个兄弟。通过使用addClass,您应该删除以前添加的类,您可以使用removeClass 方法删除这些类或通过设置新值来覆盖类属性/属性:

$('.moon-generator-attr').change(function() {
   var $this = $(this);  
   $this.siblings('.icon-wrap').find('a').attr('class', function(){
      return 'icon icon-' + $this.val();
   });
});

http://jsbin.com/ugufi/22

【讨论】:

  • 哦,好吧,我不知道兄弟姐妹可以扩展那么远,我猜如果你定义了这个类,那么它会很有意义。这是一个很好的答案,但实际上我发现有一个更简单的解决方案对我有用,那就是利用 .click 回调。我们没有定义 :checked 值,而是获取单击的目标值的值...jsbin.com/ugufi/25
  • jsbin.com/ugufi/27 我更新了你的 jsbin 代码,以防其他人看到这个,是的,它是一个很好的解决方案,感谢您抽出时间和帮助.. 这是我与 jsbin.com/ugufi/25 一起使用的代码如果它确实发生了问题,或者您发现此解决方案有问题,那么肯定会使用您的代码。非常感谢你的帮助!
猜你喜欢
  • 2011-03-23
  • 1970-01-01
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
相关资源
最近更新 更多