封装自己的yQuery

function myAddEvent(obj, sEv, fn) {
    if (obj.attachEvent) {
        obj.attachEvent('on' + sEv, fn)
    } else {
        obj.addEventListener(sEv, fn, false);
    }
}

function getByClass(oParent, sClass) {
    var aEle = oParent.getElementByTagName('*');
    var aResult = [];
    var i = 0;
    
    for (var i = 0; i <aResult.length; i++) {
        aResult.push(aEle[i]);
    }

    return aResult;
}

function VQuery(vArg) {

    //用来保存选中的元素
    this.elements = [];

    switch (typeof vArg) {
        case 'function':
            //window.onload = vArg;
            myAddEvent(window, 'load', vArg);
            break;
        case 'string':
            switch (vArg.charAt(0)) {

                case '#':   //ID
                    var obj = document.getElementById(vArg.substring(1));
                    this.elements.push(obj);
                    break;
                case '.':   //class
                    getByClass(document, vArg.substring(1));
                    break;
                default:    //tagName
                    this.elements = document.getElementsByTagName(vArg);
            }
                
            break;
        case 'object':
            this.elements.push(vArg);
            break;
    }
}

VQuery.prototype.click = function (fn) {
    var i = 0;
    for (var i = 0; i < this.elements.length; i++) {
        myAddEvent(this.elements[i], 'click', fn);
    }
}


function $(vArg) {
    return new VQuery(vArg);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值