вход: проверено и переключить () в jquery - PullRequest
0 голосов
/ 01 июля 2011

В моем 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 ]

3 голосов
/ 01 июля 2011

Попробуйте это:

$('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/

0 голосов
/ 01 июля 2011

Входные элементы не могут иметь потомков.Может быть, вы имеете в виду input:checked (без пробела)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...