带jquery的单选按钮

时间:2012-08-28 20:48:41

标签: jquery

我有一堆div:

<div class='option'>
    <span>here is a label for one pair of radio buttons</span>
    <a href='#' rel='radio' class='on'>On</a>
    <a href='#' rel='radio' class='off'>Off</a>
</div>

我正在尝试使用jQuery在这两个类之间切换('off'和'on')。

<script>; 
$(document).ready(function(){ 
   $("a[rel='radio']").click(function(){
      if($(this).attr('class')=='on'){
        //make $(this) have class 'off'
        //make the other a in *this* div have class 'on'

      } else {
        //make $(this) have class 'on'
        //make the other a in the div have class 'off'
      }

  });
});
</script>

如何将注释的伪代码转换为真实世界的jQuery?

3 个答案:

答案 0 :(得分:3)

您描述的行为与标准单选按钮不同,但可以如下所示:http://jsfiddle.net/BJGKH/

$("a[rel='radio']").click(function(){
   // this and sibling - toggle both classes from each
   $(this).siblings("a[rel='radio']").addBack().toggleClass("on off");
});​

答案 1 :(得分:2)

试试这个;

$("a[rel='radio']").click(function(){
   $(this).siblings('a').andSelf().toggleClass('on off')
});

答案 2 :(得分:0)

这样的事情:

$(document).ready(function(){ 
   $("a[rel='radio']").click(function(){
      if($(this).attr('class')=='on'){
        $(this).removeClass('on').addClass('off');
        $(this).siblings().removeClass('off').addClass('on');
      } else {
        $(this).removeClass('off').addClass('on');
        $(this).siblings().removeClass('on').addClass('off');
      }
  });
});