本帖最后由 u013288450 于 2013-12-26 17:55:27 编辑

解决方案 »

  1.   

    主要是你switch处理时,没有考虑要是this的时候,怎么处理啊,this一般都是一个DOM对象,或者是window对象。所以你得加上如果是对象时,要怎么做。比如加上这么一段
    case "object":this.elements = document.getElementsByTagName(vArg.tagName);break;最简单的写法。
      

  2.   

    本帖最后由 showbo 于 2013-12-26 18:09:55 编辑
      

  3.   

    function ZQuery(vArg) {
    this.elements = [];
    if(vArg instanceof Element){
    this.elements.push(vArg);
    return;
    }

    switch (typeof vArg) {

    case 'function':
    addEvent(window, 'load', vArg);
    break;
    case 'string':
    switch (vArg.charAt(0)) {
    case '#':
    var obj = document.getElementById(vArg.substring(1));
    this.elements.push(obj);
    break;
    case '.':
    this.elements = g