2011-07-01 8 views
0

私のjqueryでは、私は何らかの理由で私が期待どおりに動作していない次のコードを持っています。コードのテストでは、CSSの変更は実行されません。チェックしてちょうど$(「入力」)その後、CSSの作品を持っているだけで、入力のクリックに:私は削除する場合は、チェックボックス入力:jqueryでチェック&トグル()

$("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",""); 
}); 

私が行方不明ですか?

+0

何をしようとする:

ここ
$('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ですか?マークアップを投稿できますか? – Mrchief

+0

シンプルなTODOのスタイルのアプリケーション – ChrisMJ

+0

'

' – ChrisMJ

答えて

3

これを試してみてください:http://jsfiddle.net/AwMf3/

+0

ありがとう、それは魅力を働いた! – ChrisMJ

+0

動作しますが、少し過剰です。 @Karolisからの提案を使用して、元のコードを '$(" input:checked ")'から '$(" input:checkbox ")'に変更すると、 'if'ステートメントの必要がなくなります。 –

+0

@Mully :少ないコードでjsfiddleを見たいですか? – Mrchief

0

入力要素には子孫を設定できません。多分input:checked(スペースなし)を意味するのでしょうか?

+0

Iveはそれを試みました。何が起こっているのかわからない – ChrisMJ