0

簡単な JavaScript/jQuery コードを Rails アプリケーションに追加して、RubyMineに次の警告を表示させています。

"Duplicated jQuery selector".

環境により、警告メッセージに関する追加情報が得られます。

jQuery セレクターが効率的に使用されていることを確認します。ID セレクターで始まる子孫セレクターを分割することを提案し、キャッシュされる可能性のある複製されたセレクターについて警告します。

コード自体は非常にシンプルで、要素がレンダリングされているかどうかを確認するために何年も使用しています。見つからない場合は、要素がページに追加されます。

if($('#error').length == 0) {
    $('<span class="error" id="error">'+error_message+'</span>')
            .insertAfter('#element');
}else {
   $('#error').html(error_message);
}

環境により、次の行で上記のエラーが表示されます。

$('#error').length == 0

私はこれを長い間使用してきましたが、もう一度グーグルで書き直す方法があるかどうかを確認しました。私が見つけた唯一のことは、次のことだけです。

$('#error').length

しかし、環境は再び同じ警告を表示します。

これを最適化する方法は本当にありますか?それを正しく使用していないか、警告は環境ル​​ールによる内部の誤解の結果である可能性がありますか?

4

1 に答える 1

0

この警告は、セレクターの間違ったまたは遅い jQuery 構文と共通するものは何もありません。現在のファイルで同じセレクターを使用しており、RubyMine 環境は、次のように、このセレクターを参照することでこれを最適化できると言っています。

var selector = $(jquery_selector)
于 2013-06-24T08:00:37.103 に答える