zoukankan      html  css  js  c++  java
  • document.getElementById的简写方式

    所有的Web前端同仁对 document.getElementById 都非常熟悉了。

    开发过程中经常需要用其获取页面id为xx的元素,自从元老级js库Prototype流行后,都喜欢这么简写它

    function $(id){ return document.getElementById(id); }  

     

     

     

     

    _$(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.

     

     

  • 相关阅读:
    1029 旧键盘 (20 分)C、Java、python
    1028 人口普查 (20 分)C语言
    1027 打印沙漏 (20 分)C语言
    luoguP2709 小B的询问
    luoguP2709 小B的询问
    bzoj5016 [Snoi2017]一个简单的询问
    bzoj5016 [Snoi2017]一个简单的询问
    luoguP1972 [SDOI2009]HH的项链(莫队)
    luoguP1972 [SDOI2009]HH的项链(莫队)
    Tyvj1091
  • 原文地址:https://www.cnblogs.com/huanlei/p/2443001.html
Copyright © 2011-2022 走看看