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 回答