document.getElementById的簡(jiǎn)寫(xiě)方式(獲取id對(duì)象的簡(jiǎn)略寫(xiě)法)
更新時(shí)間:2010年09月10日 00:14:12 作者:
在js編寫(xiě)中,經(jīng)常需要獲取id對(duì)象,如果直接用getElementById來(lái)獲取,代碼多而且老的瀏覽器不支持這屬性,所有大家可以考慮用下面的代碼。
比如用_$(id)代替document.getElementById(id).
如果是純粹的代替可以使用下面的代碼
function $(id){document.getElementById(id)}
個(gè)人比較推薦用prototype中對(duì)document.getElementById的定義:
function $()
{
var elements = new Array();
for (var i = 0; i < arguments.length; i++)
{
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
你還可以用以下代碼來(lái)定義:
function $(objectId) {
if(document.getElementById && document.getElementById(objectId)) {
return document.getElementById(objectId);// W3C DOM
} else if (document.all && document.all(objectId)) {
return document.all(objectId);// MSIE 4 DOM
} else if (document.layers && document.layers[objectId]) {
return document.layers[objectId];// NN 4 DOM.. note: this won't find nested layers
} else {
return false;
}
}
這樣寫(xiě)不斷可以為JS文件省掉不少字符,還可以避免輸入時(shí)的錯(cuò)誤.
有一個(gè)小小的說(shuō)明,$是一個(gè)自定義的值,你可以根據(jù)你的喜好寫(xiě)任何一個(gè)非JavaScript保留關(guān)鍵字,比如i_d,myid,等等你喜歡的定義.如果你的頁(yè)面中調(diào)用到了jQuery的庫(kù)文件,你可以直接用$代替document.getElementById.
如果是純粹的代替可以使用下面的代碼
復(fù)制代碼 代碼如下:
function $(id){document.getElementById(id)}
個(gè)人比較推薦用prototype中對(duì)document.getElementById的定義:
復(fù)制代碼 代碼如下:
function $()
{
var elements = new Array();
for (var i = 0; i < arguments.length; i++)
{
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
你還可以用以下代碼來(lái)定義:
復(fù)制代碼 代碼如下:
function $(objectId) {
if(document.getElementById && document.getElementById(objectId)) {
return document.getElementById(objectId);// W3C DOM
} else if (document.all && document.all(objectId)) {
return document.all(objectId);// MSIE 4 DOM
} else if (document.layers && document.layers[objectId]) {
return document.layers[objectId];// NN 4 DOM.. note: this won't find nested layers
} else {
return false;
}
}
這樣寫(xiě)不斷可以為JS文件省掉不少字符,還可以避免輸入時(shí)的錯(cuò)誤.
有一個(gè)小小的說(shuō)明,$是一個(gè)自定義的值,你可以根據(jù)你的喜好寫(xiě)任何一個(gè)非JavaScript保留關(guān)鍵字,比如i_d,myid,等等你喜歡的定義.如果你的頁(yè)面中調(diào)用到了jQuery的庫(kù)文件,你可以直接用$代替document.getElementById.
您可能感興趣的文章:
- document.getElementById獲取控件對(duì)象為空的解決方法
- js中document.getElementByid、document.all和document.layers區(qū)分介紹
- document.getElementById介紹
- jquery中的 $("#jb51")與document.getElementById("jb51") 的區(qū)別
- document.getElementById方法在Firefox與IE中的區(qū)別
- document.getElementById為空或不是對(duì)象的解決方法
- 各瀏覽器對(duì)document.getElementById等方法的實(shí)現(xiàn)差異解析
相關(guān)文章
javascript學(xué)習(xí)筆記(九) js對(duì)象 設(shè)計(jì)模式
javascript學(xué)習(xí)筆記之js對(duì)象 設(shè)計(jì)模式介紹,需要的朋友可以參考下2012-06-06
Javascript SHA-1:Secure Hash Algorithm
Javascript SHA-1:Secure Hash Algorithm...2006-12-12
JavaScript基礎(chǔ)之Array?forEach使用示例
這篇文章主要為大家介紹了JavaScript基礎(chǔ)之Array?forEach使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
在firefox和Chrome下關(guān)閉瀏覽器窗口無(wú)效的解決方法
首先IE是可以通過(guò)window.close()來(lái)關(guān)閉瀏覽器窗口的,但是在firefox和Chrome下是無(wú)效的,但是可以通過(guò)一些特殊的手段進(jìn)行關(guān)閉2014-01-01
JavaScript基礎(chǔ)語(yǔ)法、dom操作樹(shù)及document對(duì)象
本文介紹了學(xué)習(xí)javascript重要的3個(gè)內(nèi)容基礎(chǔ)語(yǔ)法、dom操作樹(shù)及document對(duì)象,小伙伴們一定要弄明白才行2014-12-12
C#中對(duì)象與JSON字符串互相轉(zhuǎn)換的三種方式
這篇文章介紹了C#中對(duì)象與JSON字符串互相轉(zhuǎn)換的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
JavaScript中利用各種循環(huán)進(jìn)行遍歷的方式總結(jié)
這篇文章主要介紹了JavaScript中利用各種循環(huán)進(jìn)行遍歷的方式總結(jié),是JS入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-11-11

