输入:已检查& jquery中的toggle()

时间:2011-07-01 18:38:39

标签: jquery css checkbox

在我的jquery中,我有以下代码,由于某种原因,它没有像我预期的那样工作。在测试代​​码时不执行css更改。如果我删除:已选中并且只有$(“输入”),则css可以工作,但只能点击输入:复选框

$("input :checked").toggle(function() {
    // Stuff to do every *odd* time the element is clicked;
    $(this).siblings('a').css("text-decoration","line-through");
    $(this).siblings('a').css("color","#aaa");
    $(this).parent('li').css("background-color","#ccc");
}, function() {
    // Stuff to do every *even* time the element is clicked;
    $(this).siblings('a').css("text-decoration","none");
    $(this).siblings('a').css("color","");
    $(this).parent('li').css("background-color","");
});

我错过了什么?

2 个答案:

答案 0 :(得分:3)

试试这个:

$('input:checkbox').click(function() {
    if($(this).is(':checked')) {
      // Stuff to do every *odd* time the element is clicked;
      $(this).siblings('a').css("text-decoration","line-through");
      $(this).siblings('a').css("color","#aaa");
      $(this).parent('li').css("background-color","#ccc");
    } 
    else {
      // Stuff to do every *even* time the element is clicked;
      $(this).siblings('a').css("text-decoration","none");
      $(this).siblings('a').css("color","");
      $(this).parent('li').css("background-color","");
    }
});

这是一个jsfiddle:http://jsfiddle.net/AwMf3/

答案 1 :(得分:0)

输入元素不能有后代。也许你的意思是input:checked(没有空格)?