可想自己造一个jQuery库?(六)

  • A+
所属分类:jQuery

Lesson-5

这个版本新增6个方法,find(),first(),last(),eq(),get(),ajax

先给出代码

我们要仔细分辨下,这4个方法在jQuery中返回的都是什么对象?到底是dom对象还是jQuery对象.

明白了这个后就很容易能写出这4个方法

首先find, 我们知道一般都会这样写 $('div').find('span') 查找div下的span,返回的是span数组对象,而不是原生的dom对象

那么我们就可以换个思路,因为我们能拿到 $('div') 这个selector对吧? 也就是 div

既然又要find('span'),我们的selector就可以写成 ('div span'),之后直接返回新的数组对象不就好了吗??

var context = this.selector; 先缓存当前的selector上下文,之后拼接我们find的selector

所以最后return 就变为 new Kodo(context + ' ' + selector); 虽然效率不一定高,总是一种解决思路不是吗?

find方法比较难解决,之后这4个就很容易了,first,last,eq,分别返回的都是封装后的对象,只有get返回的是原生 dom对象.

我们根据之前的思路,直接取数组对象的index,return下新的即可,是不是很简单? :)

之后是ajax部分

之前说过之所以,可以用$.ajax直接调用,是因为可以把方法直接挂在在构造函数上,作为静态方法

所以我们只需要写好ajax最后把你想要公开的接口放在Kodo上即可

在这我就不细讲ajax的具体过程,我也实现了一个比较简单的ajax,就公开了get和post方法.大家可以实现一个更加复杂好用的ajax替换我这段代码

你说你都耐心的翻到这了? 不给我一个star说的过去么你?

weinxin
我的微信公众号
我的微信公众号扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • avatar 66驴游网 1

      以后多来看看~~谢谢分享

      • avatar 66美容资讯网 1

        很不错~~