JShintはjQueryの場合は「引数の種類はパラメータと一致しません」と表示されます(これは

StackOverflow https://stackoverflow.com//questions/25032321

  •  21-12-2019
  •  | 
  •  

質問

それはすべてタイトルの中にあります。

jQuery(Document)で起こります。

コードの何が問題なのかわかりません。

これは抜粋です:

var checkboxes = jQuery('.js-selected-items', self.$el);
checkboxes.each(
    function (i) {
        if (!jQuery(this).is(':disabled')) {
            jQuery(this).prop('checked', true);
        }
    }
);
...
.

jQuery(この)のすべての出現に警告が表示されます。

コードはもちろん機能しますが、すべてのJShint警告を取り除きたいのですが。

役に立ちましたか?

解決

コンストラクタ関数の外部でthisを使用できるようにするためにJShint用のフラグを設定する必要があります。

checkboxes.each(function() {
    /* jshint validthis: true */
    jQuery(this)...
});
. validthis設定オプション

このオプション(validthis)コードが厳密モードで実行されているときに厳密な違反が可能で、これを非コンストラクタ関数で使用することを抑制します。このオプションを使用する必要があります。このオプションは、このオプションのみを使用する必要があります。

注:このオプションは関数スコープの内部にのみ使用できます。このオプションをグローバルに設定しようとすると、JShintはエラーで失敗します。

jQuery#eachは、Function#callを使用して、Loop内の現在の要素をその関数の最初の引数として渡し、この状況でJShintのvalidthisフラグを使用します。

他のヒント

$.each()の機能のパラメータは次のとおりです。

Type: Function( Integer index, Element element )
.

では、elementの代わりにthisを使用すると、JShint、またはPhpStort Inspinessが私の場合でも満たされます。

checkboxes.each(function (i, elm) {
    if (!$(elm).is(':disabled')) {
        $(elm).prop('checked', true);
    }
});
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top