document.getElementById的简写方式

来源:Mr.Think 时间:2010-06-21 10:44:00 

Mr.Think是一个喜欢简洁的人,喜欢如诗一样的代码.不喜欢.NET的代码,就是因为经常看到同事用VS后生成出来的一段段冗长的代码.在我的思维中,JavaScript是一种很飘逸的语言,所以,写给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.

标签:JavaScript,getElementById,prototype
0
投稿

猜你喜欢

  • 10个糟糕的IE Bug及其修复

    2010-05-13 16:26:00
  • asp如何获知Connection对象更多的信息?

    2009-11-23 20:53:00
  • 一个div层打开显示效果 js

    2008-05-19 12:35:00
  • Oracle数据库及应用程序优化开发者网络Oracle

    2010-07-18 13:02:00
  • 讲解数据库管理系统必须提供的基本服务

    2009-01-04 14:33:00
  • 使table也能overflow:hidden

    2008-08-18 21:04:00
  • 关于“简单,可依赖”

    2008-10-22 13:33:00
  • 交互设计杂七杂八

    2010-09-25 18:41:00
  • 简单实用的图片播放器1.0(Javascript + css )

    2008-07-16 10:39:00
  • css学习笔记: 重置默认样式 css reset

    2009-07-19 14:30:00
  • 如何实现在下拉菜单里输入文字?

    2010-06-03 10:31:00
  • sql 附加数据库后,孤立用户的解决办法

    2011-01-22 13:46:00
  • 潜谈产品设计中的可用性和可访问性

    2009-01-18 12:47:00
  • taobao cdn的缓存?

    2009-09-19 17:21:00
  • CSS文件的编码要和页面的编码相一致

    2010-06-06 13:59:00
  • 新功能的帮助与破坏

    2010-01-17 10:15:00
  • 表单验证通用脚本(支持所有主流浏览器)

    2010-08-08 08:54:00
  • 史上最简单的方法复制或迁移Oracle数据库

    2009-02-04 16:38:00
  • SQL SERVER数据操作类代码

    2012-07-11 16:16:12
  • 改善IE6中a与a:hover的背景支持

    2009-11-27 18:50:00
  • asp之家 网络编程 m.aspxhome.com