• JS给Element添加方法


    Property类库大家应该都知道,他里面的有个hide和show方法很好用,所以我也想自己弄个那样的方法来用,于是在网上收罗下资料,经过自己的消化整理,代码如下:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>扩展element</title>
    <script language="javascript" type="text/javascript">
    function Hide(element) {
        element.style.display = 'none';
        return element;
      }
    function Show(element) {
        element.style.display = '';
        return element;
      }
    
    var __G={'hide':Hide,'show':Show};
    function $(s){
      var el=document.getElementById(s);
      if(el && !el._extendedByMyScriptName){
        for(var i in __G){
          var _tmpFn=function(_fn,_o){//delegate function
              return function(){
                if(typeof(_fn)=="function");
                  return _fn.apply(null,
                    [_o].concat(Array.prototype.slice.call(arguments)));
              }
          };
          el[i]=_tmpFn(__G[i],el);
        }
        //this statement is use to stop from too much recursion
        el._extendedByMyScriptName=true;
      }
     return el;
    }
    function test1()
    {
    $('Label1').hide();
    }
    
    function test2()
    {
    $('Label1').show();
    }
    
    </script>
    </head>
    
    <body>
    <label id="Label1">asdfasdfsadfasdf</label>
    <input id="btn1" name="Button1" type="button" value="隐藏" onclick="test1()" />
    <input id="btn2" name="Button2" type="button" value="显示" onclick="test2()" />
    </body>
    
    </html>

    分析上面的代码,实际上时在$函数里为调用该函数后返回的对象添加一个hide和show方法.

    具体的那些属性方法,别人从哪里找来的 我也就不清楚了,不过我放到不通的浏览器测试,确实都有这些属性和方法.所以说人外有人,山外有山.总会有别人知道而你不知道的东西.虚心向学,多多积累,积少成多,才是一个搞技术,学习技术的人 应该具备的良好习惯!!

    说明:当时查的网址现在不记得,不过这个效果的确很拉风,如果举一反三应该会有很大作用.

    测试结果:IE6.0,FireFox,Chrome,Opera均通过.

    作者:任磊

  • 相关阅读:
    设计模式-Note9-行为变化类
    设计模式-Note8-数据结构类
    设计模式-Note7-状态变化类
    设计模式-Note6-接口隔离类
    设计模式--Note5--对象性能类
    设计模式--Note4--对象创建类
    设计模式--Note3--单一职责类
    设计模式--Note2--组件协作类
    V$ACCESS 查询结果慢的解决方法
    openstack numa详解(命令使用篇)
  • 原文地址:https://www.cnblogs.com/Ren_Lei/p/1839639.html
Copyright © 2020-2023  润新知