1. ホーム
  2. jquery

[解決済み] PHPStorm IDEにおけるjQuery使用に関する非効率的な警告について

2022-12-28 10:21:45

質問

最近、PHPStorm IDEのバージョンをアップグレードしたところ、jQueryの非効率的な使用について警告されるようになりました。

例えば

var property_single_location = $("#property [data-role='content'] .container");

この警告を表示します。

jQueryのセレクタが効率的な方法で使用されているかどうかをチェックします。この警告は IDセレクタを先頭に持つ子孫セレクタを分割することを提案します。 キャッシュされる可能性のある重複したセレクタについて警告します。

そこで質問です。

なぜこれが非効率的なのか、そして上記のセレクタを行うための効率的な方法は何でしょうか?

で推測します。

var property_single_location = $("#property").find("[data-role='content']").find(".container");

これで良いのでしょうか?

どのように解決するのですか?

私は今日、同じ質問を持っていたし、おかげで解決策を見つけることができました。 Scott Kosman こちら .

基本的に答えは、IDを個別に選択した上で .find(...) を使用することです。ですから、あなたの例を取ると

$("#property [data-role='content'] .container");

このように変更すると、PhpStormが喜び、明らかに よりも2倍以上速くなります。 :

$("#property").find("[data-role='content'] .container");