1

所属する div 要素でチェックボックスがオンになっているときにクラスを追加したい..

これは私の現在のコードへのリンクです: [http://jsfiddle.net/WH6bz/2/]

問題に見えるのは?

4

5 に答える 5

3

問題は、フィドルに jQuery をロードしていないことです...いずれにしても、この短いコードを試してください。param を使用toggleClassすることで、ステートメントとすべてのコードのウェット性を取り除きます。switchif..else

$('div.thumb input[type=checkbox]').change(function() {
  $(this).closest('div.thumb').toggleClass('highlight', $(this).is(':checked'));
});

http://jsfiddle.net/WH6bz/4/

于 2012-12-27T02:39:24.887 に答える
3

問題は、Mootools を使用していたことです。

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

また、else条件は である必要がありますremoveClass()

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").removeClass('highlight');
    };
});
于 2012-12-27T02:38:33.170 に答える
1

問題は、jsFiddle フレームワークとして jQuery ではなくMootoolsを選択したことです:D。

于 2012-12-27T02:39:03.177 に答える
1

コードに問題はありません。jsFiddle の左側のサイドバーにあるフレームワーク ドロップダウン リストから jQuery を選択する必要があります。

デモ: http://jsfiddle.net/UvVvH/

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").addClass('highlight');
    };

});
于 2012-12-27T02:39:28.700 に答える
0

フレームワーク moo ツールを変更します。jquery を選択してコードを実行する

$('div.thumb > input:checkbox').change(function () {

    if ($(this).is(":checked")) {
        $(this).closest("div.thumb").addClass('highlight');
    }
    else {
        $(this).closest("div.thumb").removeClass('highlight');
    };

});
于 2012-12-27T02:59:59.830 に答える