jquery - 单击单选按钮时,将类添加到父级

标签 jquery

我有以下代码,当您单击一个单选按钮时,它会添加类 checked_radio ,当您单击另一个单选按钮时,它会删除该类,然后将该类添加到另一个单选按钮。效果很好。

第二部分是我想做类似的事情,但将类 highlighted 添加到父 li 中,它添加得很好,但在单击另一个单选按钮时不会删除该类。我做错了什么?

$('.gfield_radio input').click(function() {
   $('.gfield_radio input').removeClass("checked_radio");
   $(this).addClass("checked_radio");

   $('input.checked_radio').closest('li').removeClass("highlighted");
   $(this).closest('li').addClass('highlighted');   
});

最佳答案

通过这些行,您可以确保之前的任何 .gfield 输入 不再具有 checked_radio,然后将其添加到刚刚单击的输入:

$('.gfield_radio input').removeClass("checked_radio");
$(this).addClass("checked_radio");

但是,完成此操作后,您可以使用它来尝试删除旧的突出显示:

$('input.checked_radio').closest('li').removeClass("highlighted");

当然,到那时,您已经更新了哪个单选按钮具有 checked_radio 类。

只需更改顺序:

$('.gfield_radio input').click(function() {
   // Out with the old...
   $('input.checked_radio').closest('li').removeClass("highlighted");
   $('.gfield_radio input').removeClass("checked_radio");

   // ...and in with the new
   $(this).addClass("checked_radio")
          .closest('li').addClass('highlighted');   
});

关于jquery - 单击单选按钮时,将类添加到父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28348133/

相关文章:

jquery - 为什么在 DIV 中使用 SVG 元素时会出现滚动条?

javascript - 如何为 jquery i18n 设置字符集 utf-8?

javascript - 我的 ajax 调用数据部分中的 php 文件有什么问题?

javascript - 在 Eval 中设置变量 (JavaScript)

javascript - 从所有行中获取单击的单选按钮值

json - asmx Web 服务 - jQuery ajax post json(500 错误) - CORS(Access-Control-Allow-Origin 设置为 *)

javascript - Jquery .position 为 null 转换为 0

Javascript - 如何让浏览器切换标签?

javascript - 如何使用 jQuery fadeOut() 单个图像的不同部分?

javascript - React 组件未渲染