jQuery_jquery を使用してオブジェクト内のセレクターをキャッシュする簡単な方法

WBOY
リリース: 2016-05-16 15:52:17
オリジナル
1096 人が閲覧しました

jQuery などのライブラリを使用する場合、開発者はセレクターを使用して DOM 内の要素にアクセスし、要素を操作することがよくあります。ページ上で選択範囲に繰り返しアクセスする場合、パフォーマンスを向上させるために選択範囲をキャッシュすることをお勧めします。

例を見てみましょう。

jQuery(document).ready(function() {
  jQuery('#some-selector').on('hover', function() {
    jQuery(this).fadeOut('slow').delay(400).fadeIn();
    console.log(jQuery(this).text());
  });
 
  jQuery('#another-element').on('hover', function() {
    jQuery(this).slideUp();
  });
 
  jQuery('#some-selector').on('click', function() {
    alert('You have clicked a featured element');
  });
 
  jQuery('#another-element').on('mouseout', function() {
    jQuery(this).slideUp();
  });
});
ログイン後にコピー

おそらく、上記のスニペット内で ID「some-selector」と「another-element」が 2 回言及されていることにお気付きかと思います。これらのセレクターを変数に保存すると、セレクターを再利用できるようになり、選択操作を繰り返す必要がなくなります。


jQuery コードにさまざまなセレクターを蓄積し始めると、セレクターをキーと値のペアとしてオブジェクトにキャッシュすることがいかに便利であるかがわかります。これにより、スクリプト内のどこからでも簡単にアクセスできるようになり、これらのセレクターの管理も簡単になります。

セレクターをキャッシュした後、改善されたコードは次のようになります。

var someNamespace_Dom = {
  someSelector : 'jQuery("#some-selector")',
  anotherElement: 'jQuery("#another-element")',
};
 
jQuery(document).ready(function() {
  someNamespace_Dom.someSelector.on('hover', function() {
    jQuery(this).fadeOut('slow').delay(400).fadeIn();
    console.log(jQuery(this).text());
  });
  someNamespace_Dom.anotherElement.on('hover', function() {
    jQuery(this).slideUp();
  });
  someNamespace_Dom.someSelector.on('click', function() {
    alert('You have clicked a featured element');
  });
  someNamespace_Dom.anotherElement.on('mouseout', function() {
    jQuery(this).slideUp();
  });
});
ログイン後にコピー

セレクターが変数にキャッシュされたため、操作対象の要素を見つけるために DOM ツリーを繰り返し走査する必要がなくなりました。 「someNamespace_Dom」オブジェクトを使用すると、キーと値のペアをさらに追加できるため、メンテナンスが容易になります。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!