1

私はたくさんのgetElementByIdを使用していますが、それをリファクタリングするための最良の方法について質問があります。

多くの人がすでに行っているように、私はこのコードを使用して、より単純で簡単にし、ファイルサイズを縮小します。

    function $(id){
return document.getElementById(id);
}

しかし、私が助けを必要としていることに加えて、変数を追加して、document.getElementById必要なすべての関数でそれらを変更する方が良いでしょうか?または、私はすでに持っているものに固執する必要があります(の使用法$(id)

4

1 に答える 1

1

はい、window.$ = document.getElementById.bind(document);動作します。一般的に、この回答getElementById の Javascript ショートハンドを参照してください。

グローバル名前空間を汚染したり、セレクター ショートカットを広範囲に使用する特定のライブラリ (および特にそのプラグイン) と競合したりすることを恐れている場合は$、関数のスコープ内でローカル変数にする必要があります。

(function(/*id selector*/ $) {
    // your code here, using $
})(document.getElementById.bind(document));

実質的には

(function() {
    function $(id){return document.getElementById(id);}
    // your code here, using $
})();
于 2012-05-30T16:22:04.793 に答える