前提・実現したいこと
ESLintのルールで$(this)を使うとno-invalid-thisのメッセージがでてしまう。
プロジェクトの規則によりルールは変えず、エラーを解消したい。
発生している問題・エラーメッセージ
アンケートサイトで性別のチェックボックスを設置しており、ひとつしかチェックできないようにするスクリプトを書いています。
ESLintのルールで$(this)を使うとno-invalid-thisのメッセージがでてしまいます。
該当のソースコード
言語
JavaScript、jquery
const $checkTarget = $('.p-gender__check'); $checkTarget.on('click', function() { $checkTarget.prop('checked', false); $(this).prop('checked', true); $checkTarget.next().removeClass('is-change'); $(this).next().addClass('is-change'); });
試したこと
調べたところ、
「クラスまたはクラスのようなオブジェクトの外側で、thisキーワードを使うのを許可しない」
という内容だということはわかり、中身を関数化した上でJSDocコメント
/** @this Foo */
などをつけると、エラーはなくなりますが、動かなくなってしまいます。
コンストラクタやオブジェクトリテラシーなどについても知識が至らない点が多く、どうすれば解決できるのか、分からなくて困っております。
お詳しい方、上記のコードで何が問題なのか、どうかご教授頂けませんでしょうか。
補足情報(FW/ツールのバージョンなど)
ESLintのルールはグーグルの標準のものを使用しております。
回答1件
あなたの回答
tips
プレビュー