1

テーブルで選択した行のクラスを変更しようとしています。各行には、最初から同じクラス名があります。ユーザーが画像をクリックするたびにクラス名が変わります。(Gmail のスター付き/スターなしのメールを考えてみてください)

私は次のコードを持っています

$(document).ready(function() {
$(".notSelected").click(function() {
    $(".notSelected").removeClass(".notSelected").addClass(".selected");
    });
});​

編集:選択した各行をマーク/強調表示したい。
jsfiddle

この問題に取り組む方法について何か提案はありますか? ありがとう

4

4 に答える 4

2

これにより、誰かがクリックしたときにクラスが変更.notselectedされ、「選択済み」に変更されます。Remove と AddClass はドットなしである必要があります。さらに、notSelected ではなく、クラス名が notselected でした。

$(document).ready(function() {
    $(".notselected").click(function() {
     $(this).removeClass("notselected").addClass("selected");
    });
});​

http://jsfiddle.net/J8Ehr/1/を参照してください

ところで、toggleClassを見てください。別の方法でこれを定義するのに役立つかもしれません。

別の注意: 行クラスを変更したい場合、上記の回答はフィールド クラスのみを変更します。行のクラスを変更したい場合は、次のようなことを試してください(テストされていません):

$(document).ready(function() {
    $(".notselected").click(function() {
     $(this).parent('tr').removeClass("notselected").addClass("selected");
    });
});​
于 2012-10-28T07:56:06.770 に答える
1

要素にはnotselectedクラス名があり、セレクターは のクラスの要素を見つけようとします。また、およびメソッドと一緒にnotSelected使用しないでください。.addClassremoveClass

$(document).ready(function() {
    $(".notselected").click(function() {
        $('.notselected').removeClass('selected')
        $(this).addClass("selected")
    });
});

http://jsfiddle.net/sxY6z/

于 2012-10-28T07:58:38.803 に答える
0

あなたはおそらく探している:

$(document).ready(function() {
$(".notselected").click(function() {
    $(".selected").removeClass("selected").addClass("notselected");
    $(this).removeClass("notselected").addClass("selected");
    });
});​

2 つの問題。1 つ、あなたの適用されたクラスは ではnotselectedありませんでしnotSelectedた。.2 つ目は、removeClass 引数にa は必要ありません。また、jQuery の代わりに MooTools を元のフィドルにロードしました。

http://jsfiddle.net/J8Ehr/6/

于 2012-10-28T08:03:51.073 に答える
0

を追加/削除するには、クラスの名前で十分です。先頭に付いているドットを削除します..

また、 notselectedクラスの sを小文字に設定します

$(document).ready(function() {
    $(".notselected").on('click',function() {
        $('.notselected').removeClass("notselected")
            $(this).addClass("selected");
    });
});​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

フィドル

于 2012-10-28T08:05:16.963 に答える