5

jquery 要素を返す関数を作成しました。

function GetDialogButton() {
    return $('a.dialog');
};

これは、同じ要素が他の複数の関数内で使用されていたためです。属性名が変更された場合に変更しやすいように、1 つの場所から取得するのが最善だと考えました。

このゲッターを改善して、1 回のページ読み込みで複数回呼び出されたときに毎回検索を実行しないようにしたいと考えています。

これどうやってするの?キャッシュしますか?または、これは最適化されているため、おそらく必要はありませんか?

4

4 に答える 4

1

次の方法で、グローバル名前空間をきれいに保つことができます。

function GetDialogButton() {
    if (typeof GetDialogButton.element === 'undefined' ) {
        GetDialogButton.element = $("a.dialog");
    }
    return GetDialogButton.element;
};
于 2013-06-21T10:37:22.227 に答える
1

まあ、あなたはそれを遅延ロードすることができます。

var $dialogButton = null;

function GetDialogButton() {
    if($dialogButton == null)
      $dialogButton = $('a.dialog');
    return $dialogButton
};

別の方法として、ダイアログ ボタンが 1 つしかないと予想される場合は、要素に ID を指定すると、それを検索する操作がより効率的になります。

<a id="dialogButton">...</a>

$('#dialogButton')... // nice and quick
于 2013-06-21T09:56:33.887 に答える