资讯专栏INFORMATION COLUMN

可想造一个属于你自己的jQuery库?(二)

muzhuyu / 2852人阅读

摘要:初步体验这个版本呢先来加四个很简单的方法感受感受下首先个不用说了然后新增一个链式测试这些其实都很简单我们都要记住我们封装的对象是一个数组所以一定都需要用循环来进行各种个样的处理然后这我是用的个数来进行判断是取值还是设值最后千万别忘了每个方

Lesson-1 初步体验

这个版本呢,先来加四个很简单的方法感受感受下!

首先3个class不用说了

hasClass : function(cls) {
    var reg = new RegExp("(s|^)" + cls + "(s|$)");
    for (var i = 0; i < this.length; i++) {
        if (this[i].className.match(reg)) return true;
            return false;
    }
    return this;
},
addClass : function(cls) {
    var reg = new RegExp("(s|^)" + cls + "(s|$)");
    for (var i = 0; i < this.length; i++) {
        if(!this[i].className.match(reg))
            this[i].className += " " + cls;
    }
    return this;
},
removeClass : function(cls) {
    var reg = new RegExp("(s|^)" + cls + "(s|$)");
    for (var i = 0; i < this.length; i++) {
        if (this[i].className.match(reg))
            this[i].className = this[i].className.replace(" " + cls,"");
    }
    return this;
}

然后新增一个

css : function(attr,val) {//链式测试
    console.log(this.length);
    for(var i = 0;i < this.length; i++) {
        if(arguments.length == 1) {
            return getComputedStyle(this[i],null)[attr];
        }
        this[i].style[attr] = val;
    }
    return this;
}

这些其实都很简单,我们都要记住,我们封装的DOM对象是一个数组,所以一定都需要用循环来进行各种个样的处理.

然后css这我是用arguments的个数来进行判断是取值还是设值.

最后千万别忘了每个方法的最后都要return this以便链式调用.

大家可以自行拿这几个方法 log出来看看是否是与jQuery的一样就知道是否成功了.

您的star就是我快速更新的动力 : )

github地址: https://github.com/MeCKodo/forchange/tree/master/lesson-1
可想造一个属于你自己的jQuery库?(一):http://segmentfault.com/a/1190000003994531

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111195.html

相关文章

  • 可想一个属于自己jQuery?()

    摘要:初步体验这个版本呢先来加四个很简单的方法感受感受下首先个不用说了然后新增一个链式测试这些其实都很简单我们都要记住我们封装的对象是一个数组所以一定都需要用循环来进行各种个样的处理然后这我是用的个数来进行判断是取值还是设值最后千万别忘了每个方 Lesson-1 初步体验 这个版本呢,先来加四个很简单的方法感受感受下! 首先3个class不用说了 hasClass : function(c...

    gityuan 评论0 收藏0
  • 可想一个属于自己jQuery?()

    摘要:初步体验这个版本呢先来加四个很简单的方法感受感受下首先个不用说了然后新增一个链式测试这些其实都很简单我们都要记住我们封装的对象是一个数组所以一定都需要用循环来进行各种个样的处理然后这我是用的个数来进行判断是取值还是设值最后千万别忘了每个方 Lesson-1 初步体验 这个版本呢,先来加四个很简单的方法感受感受下! 首先3个class不用说了 hasClass : function(c...

    stefanieliang 评论0 收藏0
  • 可想实现一个自己简单jQuery?(四)

    摘要:修改里的判断新增我们知道在中还有一种选择器写法在加载完毕后马上就执行这样的方法会比更快所以对于我们来说一定是必不可少的我们在方法中要新增以下判断首先可能为的情况比如传入的是原生对象数组对象另外要记得转为数组因为有可能是一个元素比如是等否则 Lesson-3 修改f(selector) 里的判断,新增domReady 我们知道在jQuery中还有一种选择器写法 $(function()...

    wangbjun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<