var $ = function(id){ return document.getElementById(id); };
但是這一類js代碼會(huì)和與JQuery對(duì)象獲取函數(shù)沖突會(huì)與JQuery沖突的,導(dǎo)致JQuery獲取不了對(duì)象,出現(xiàn)類似于:Uncaught TypeError: Cannot set property ‘onclick’ of null 這樣的錯(cuò)誤提示。
安全的寫法可以這樣
var $id = function (id) { ? ?return "string" == typeof id ? document.getElementById(id) : id; };
或者:
var $id = function (id) { ? ?return typeof id == "string" ? document.getElementById(id) : id; ? };
2014-12-11
$(id)是js document.getElementById(id)的簡(jiǎn)寫,定義了這個(gè)方法以后調(diào)用的時(shí)候就可以直接用類似于jquery中那樣的$(“img-icon”).onclick簡(jiǎn)單封裝。所以很多人喜歡這樣寫:
var $ = function(id){
return document.getElementById(id);
};
但是這一類js代碼會(huì)和與JQuery對(duì)象獲取函數(shù)沖突會(huì)與JQuery沖突的,導(dǎo)致JQuery獲取不了對(duì)象,出現(xiàn)類似于:Uncaught TypeError: Cannot set property ‘onclick’ of null 這樣的錯(cuò)誤提示。
安全的寫法可以這樣
var $id = function (id) {
? ?return "string" == typeof id ? document.getElementById(id) : id;
};
或者:
var $id = function (id) {
? ?return typeof id == "string" ? document.getElementById(id) : id; ?
};
2014-12-12
為何用"string" === typeof id 而不是"=="?