jquery和zepto的区别

Query 由于强大的生命力基本上是一个事实标准,所以大部分工具 lib 在 DOM 操作、动画等功能上或多或少都会是 jQuery-like 的。Zepto 的 API 就是完全兼容 jQuery 的,功能上 Zepto 是 jQuery 的子集,定位上 jQuery 桌面为主,Zepto 则从一开始就定位移动设备,所以体积方面有一定优势。也就是说如果你只用了 jQuery 很少且都是核心的功能,比如选择器等,那么可以在不改动任何业务代码的情况下把 lib 切换到 Zepto——其实就是把 $ 对象换掉了。

核心要点:

Zepto更轻量级

Zepto是jQuery的精简,针对移动端去除了大量jQuery的兼容代码

部分API的实现方式不同

详情

针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件),Zepto是不支持IE浏览器的。

DOM操作的区别:添加id时jQuery不会生效而Zepto会生效

事件触发的区别:使用jquery时load事件的处理函数不会执行;使用zepto时load事件的处理函数会执行

事件委托的区别:zepto中,选择器上所有的委托事件都依次放入到一个队列中,而在jquery中则委托成独立的多个事件

width() 与 height()的区别:zepto由盒模型(box-sizing)决定,用.width()返回赋值的width,用.css('width')返回border等的结果;jquery会忽略盒模型,始终返回内容区域的宽/高(不包含padding、border).

offset()的区别:zepto返回{top,left,width,height}; jquery返回{width,height}。zepto无法获取隐藏元素宽高,jquery可以

zepto中没有为原型定义extend方法而jquery有

zepto的each方法只能遍历数组,不能遍历JSON对象。

更多

jQuery 和 Zepto.js 表面看起来差不多,其实一些细节上差异很大,同时支持 jQuery 和 Zepto.js 是一件吃力不讨好的事情,这应该也是Foundation 5 放弃支持 Zepto的一个原因。(下面列举的差异 Demo

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 应用场景不同,因为jQuery的强大导致了他本身也强大,所以使他不太适合移动端的开发,Zepto就解决了这个...
    宁宁nn阅读 751评论 0 0
  • 相同点 Zepto.js号称移动版的jQuery,两者的API及其相似。zepto文件更加小,只有8k多,如果熟悉...
    sdcV阅读 739评论 1 4
  • �1.背景介绍 HTML页面中的元素实现一对一,一对多或者多对一的控制,这就需要用到CSS选择器。 HTML页面中...
    远望的云阅读 4,527评论 2 1
  • 请参看我github中的wiki,不定期更新。https://github.com/ivonzhang/Front...
    zhangivon阅读 7,203评论 2 19
  • kabin阅读 199评论 0 1