クリックしたときに「check」のクラスを持つ特定の画像に「nocheck」のクラスを追加しようとしています。以下はこれまでの私のコードですが、望ましい結果は得られません。私が間違っていることを教えてください。
$(document).ready(function() {
$("img.check").click(function() {
$(this).addClass("nocheck");
});
});
ありがとう
クリックしたときに「check」のクラスを持つ特定の画像に「nocheck」のクラスを追加しようとしています。以下はこれまでの私のコードですが、望ましい結果は得られません。私が間違っていることを教えてください。
$(document).ready(function() {
$("img.check").click(function() {
$(this).addClass("nocheck");
});
});
ありがとう
Igor の言うとおりです。あなたのコードは正しく書かれています。このフィドルを見てください。コードの動作を示します。私の推測では、.nocheck クラスの一部のスタイルが、.check クラスの同じスタイルによってオーバーライドされていると思われます。私のフィドルの css で !important フラグを使用していることに注意してください。
Chrome のデバッガ ツールの使い方を知っていますか。これを使用して、DOM を簡単に調査できます。あなたのコードは機能しているのに、あなたはそれに気づいていないのではないかと思います。DOM インスペクターは、画像要素のクラス属性を簡単に表示するので、何が起こっているかを正確に知ることができます。これを使用して JavaScript にブレークポイントを設定し、イベントが発生していることを確認することもできます。
次のように、このイメージの古いクラスを削除する必要があります。
「nocheck」を追加すると同時に「check」を削除する必要がある場合があります。.toggleClass()を使用します:
$(this).toggleClass("check nocheck");