質問
$(this).hasClass でクリックしたほうを指定していると思っています。
なぜ2回読み込むのでしょうか?
またどうすれば希望の動作をするのでしょうか?
希望の動作
同じクラス名を持つ<label>要素をクリックした際に
クリックした方にclass="active"をつけ、もういちどクリックしたら外すスクリプトを書きたい
エラー内容
コンソールを見てみるとクリックした際に2回処理が走りtrue と false を交互に読み込んでいる
HTML
1<div class="clm-wrap clm-sub-content"> 2 <label class="field-clmimg"> 3 <input type="checkbox" class="form-checkbox-input"> 4 </label> 5 <label class="field-clmimg"> 6 <input type="checkbox" class="form-checkbox-input"> 7 </label> 8</div>
jQuery
1 var fieldClmimg = $(".field-clmimg"); 2 3$(".field-clmimg").click(function () { 4 console.log($(this).hasClass('active')) 5 if ($(this).hasClass('active')) { 6 $(this).removeClass("active"); 7 } else { 8 $(this).addClass('active') 9 } 10})
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/28 04:48