Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery addClass to checked radiobutton和removeClass from not:checked radiobutton by CLASS 演示-->_Jquery - Fatal编程技术网

Jquery addClass to checked radiobutton和removeClass from not:checked radiobutton by CLASS 演示-->

Jquery addClass to checked radiobutton和removeClass from not:checked radiobutton by CLASS 演示-->,jquery,Jquery,如果看不到HTML,很难提供帮助,但您可以尝试以下方法: <label><input type="radio" name="ship" class="option" data-number="<?php echo $shipTotal['Ground']; ?>" value="S1"/> Ground <b>$<?php echo $shipTotal['Ground']; ?></b></label> 迭代

如果看不到HTML,很难提供帮助,但您可以尝试以下方法:

<label><input type="radio" name="ship" class="option" data-number="<?php echo $shipTotal['Ground']; ?>" value="S1"/> Ground <b>$<?php echo $shipTotal['Ground']; ?></b></label>

迭代所有元素并添加和删除类,检查
:checked
属性

// remove class from all option elements
$('.option').removeClass('shippingSet'); 

// add class only to elements that satisfy your criteria
$('.option:checked').addClass('shippingSet');

这就是你要找的吗

在最初的小提琴中,您将类添加到单选按钮本身,这不会影响标签的样式,并且单选按钮本身没有要更改的文本颜色或bg颜色,因此您不会看到任何差异。我只是加了一句

 $('.option').each(function(){
         if( $(this).is(':checked')){
             $(this).addClass('shippingSet');
         }
         else{
             $(this).removeClass('shippingSet');
         }
    });

这会将类添加到父类中,即“label”,并会影响包含可见文本的标签的txt和bg

为什么不起作用?您从所有选项中删除类,然后添加到已检查的选项您的代码中还有其他错误,请检查错误,请参见此处错误在代码中的其他位置-请参见:(此处我注释了演示中的所有内容,保存了基本内容和上述解决方案-我的解决方案和Sushanth的解决方案也在这些条件下工作)我把你的密码放在我的密码所在的地方。它不起作用了。在这里添加了HTML。。问题是什么?只是背景色和字体颜色——请参阅使用firebug所需的演示@fabio。选中的单选按钮上的样式将不会显示,至少不会显示在FF 11上,如果要更改文本颜色和背景,则需要在标签上添加类,而不是单选按钮本身。我正在使用firebug--控制台指示没有错误。好的,我试着用
标签
替换
.option
,但仍然不起作用。你看到我的演示了吗?看到我的小提琴了吗?在我的回答中,我在你的小提琴底部添加了线条。我把addClass留给了单选按钮,但是如果你要找的是小提琴,那么你也可以把那一行去掉。如果您使用firebug尝试addClass代码,您可以看到添加的类是正确的,但是您的css样式不起作用。是的,这正是我想要的。你能解释一下这是怎么回事吗。我给你打勾了!谢谢我更新了答案来解释,您应该始终使用firebug来检查元素,以查看jquery是否工作。由于此问题是由cssThanks引起的,感谢您的解释。:)我只是在做
$('.option')。removeClass('shippingSet')并且我没有收到任何错误。一直以来,我所需要的就是
.parent()
。。但我也尝试了
$('label')。removeClass('shippingSet')但这不起作用。。。
label
不是
parent()
?label是parent,但是label不起作用,因为你不知道里面的收音机是否检查过,所以你现在的代码是好的
 $('.option').each(function(){
         if( $(this).is(':checked')){
             $(this).addClass('shippingSet');
         }
         else{
             $(this).removeClass('shippingSet');
         }
    });
$('.option').parent().removeClass('shippingSet');
$('.option:checked').parent().addClass('shippingSet');