萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> 交互設計 >> document.getElementById的簡寫方式

document.getElementById的簡寫方式

Mr.Think是一個喜歡簡潔的人,喜歡如詩一樣的代碼.不喜歡.NET的代碼,就是因為經常看到同事用VS後生成出來的一段段冗長的代碼.在我的思維中,JavaScrip是一種很飄逸的語言,所以,寫給TA的代碼,也一定要做到飄逸,呵.比如用_$(id)代替document.getElementById(id).
個人比較推薦用prototype中對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;
}

你還可以用以下代碼來定義:

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;
    }
}

這樣寫不斷可以為JS文件省掉不少字符,還可以避免輸入時的錯誤.
有一個小小的說明,$是一個自定義的值,你可以根據你的喜好寫任何一個非JavaScript保留關鍵字,比如i_d,myid,等等你喜歡的定義.如果你的頁面中調用到了jQuery的庫文件,你可以直接用$代替document.getElementById.

copyright © 萬盛學電腦網 all rights reserved