jQuery在选定的广播中添加/删除css类

The*_*Man 6 jquery-ui

我在这里已经阅读了一些解决方案,但是我的问题在那些不起作用的地方有所不同.基本上,如果选中单选按钮,则将css类添加到父div.如果未选中收音机,请删除css类.听起来很简单?

我有多个单选按钮组,换句话说,一次会选择多个单选按钮.每个单选按钮组也位于由其他html分隔的页面的不同部分.

这是我想出的:

  $(document).ready(function () {
    $('input').click(function () {
        if ($('input:not(:checked)')) {
            $('div').removeClass('style1');
        }
        if ($('input').is(':checked')) {
            $(this).parent().addClass('style1');
        }


    });
});
Run Code Online (Sandbox Code Playgroud)

我认为我在输入的正确路径:not(:checked),但在下一行它从所有div元素中删除style1,而不是检查是否检查了其他div单选按钮子.

我想我要问的是如何编写一个脚本,单击单选按钮时,将css类添加到父级,然后在页面上找到所有具有输入子级的div标签.如果未选中divs子输入,请删除css类.因此,如果div具有子输入元素并且已检查,则不要从输入div中删除css类.

我希望这是有道理的.

nan*_*oto 18

为什么不使用以下内容:http://jsfiddle.net/Q2bzT/

$(document).ready(function () {
    $('input').click(function () {
        $('input:not(:checked)').parent().removeClass("style1");
        $('input:checked').parent().addClass("style1");
    });    
});?
Run Code Online (Sandbox Code Playgroud)

  • 一年后......还是帮了别人 (4认同)

use*_*716 9

假设您的单选按钮使用该name属性对其进行正确分组,当更改时,您可以找到具有相同名称的无线电,并删除该类,然后将该类添加到已激活的类中.

尝试一下: http ://jsfiddle.net/U2AAQ/

$(document).ready(function () {
    $(':radio').change(function () {
        $(':radio[name=' + this.name + ']').parent().removeClass('style1');
        $(this).parent().addClass('style1');
    });
});?
Run Code Online (Sandbox Code Playgroud)