首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery在收音机标签上切换类

问jQuery在收音机标签上切换类
EN

Stack Overflow用户
提问于 2017-02-17 12:59:38
回答 2查看 2.5K关注 0票数 2

当你点击收音机/标签时,我试着在2个标签上切换“活动”类。因此,在页面加载上,将检查第一个收音机,并对该广播的标签进行类' active‘,然后如果您单击另一个收音机/标签,它将切换活动类。我差点让它起作用了,我只是做了点小错事。

​

代码语言:javascript
复制
$('.label_item input[type="radio"]').click(function() {
  if (!$(this).is(':checked')) {
    $(this).parent('.label_item').addClass('active');
  } else {
    $(this).parent('.label_item').removeClass('active');
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label class="label_item active" for="a1">
<input type="radio" name="radio" id="a1" checked="checked" />label one</label>

<label class="label_item" for="a2">
<input type="radio" name="radio" id="a2" />label two</label>

​

JSFiddle:https://jsfiddle.net/5vnhgduh/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-17 13:03:10

您可以将类添加到父级,并从父级兄弟姐妹中删除类。

​

代码语言:javascript
复制
$('.label_item input[type="radio"]').click(function() {
  $(this).parent().addClass('active').siblings('label').removeClass('active')
});
代码语言:javascript
复制
.active {
  color: red;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="label_item active" for="a1">
  <input type="radio" name="radio" id="a1" checked="checked" />label one</label>

<label class="label_item" for="a2">
  <input type="radio" name="radio" id="a2" />label two</label>

​

票数 2
EN

Stack Overflow用户

发布于 2017-02-17 13:03:21

您需要在active单选按钮上添加:checked类,我建议您使用change事件。

代码语言:javascript
复制
var elements = $('.label_item :radio').change(function() {
    elements  //Select radio
      .parent().removeClass('active') //target parents and remove class
      .end() //target radio options 
      .filter(':checked') //get checked radio
      .parent().addClass('active'); //add class
});

​

代码语言:javascript
复制
var elements = $('.label_item :radio').change(function() {
  elements //Select radio
    .parent().removeClass('active') //target parents and remove class
    .end() //target radio options 
    .filter(':checked') //get checked radio
    .parent().addClass('active'); //add class
});
代码语言:javascript
复制
.active {
  color: red;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class="label_item active" for="a1">
    <input type="radio" name="radio" id="a1" checked="checked" />label one</label>

<label class="label_item" for="a2">
    <input type="radio" name="radio" id="a2" />label two</label>

​

DEMO

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42298625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档