zepto和jquery的区别,zepto的不同使用8条小结
总体介绍:Zepto最初是为移动端开发的库,是jQuery的轻量级替代品,因为它的API和jQuery相似,而文件更小。Zepto优点:(1)、Zepto最大的优势是它的文件大小,只有8k多,是目前功能完备的库中最小的一个,尽管不大,Zepto所提供的工具足以满足开发程序的需要。(2)、Zepto的API大部分都能和jQuery兼容,所以用起来极其容易,如果熟悉jQuery,就能很容易掌握Zepto。你可用同样的方式重用jQuery中的很多方法,也可以方面地把方法串在一起得到更简洁的代码,甚至不用看它的文档。Zepto和jQuery的不同之处:(1)、针对移动端程序,Zepto有一些基本的触摸事件可以用来做触摸屏交互(tap事件、swipe事件),Zepto是不支持IE浏览器的,这不是Zepto的开发者Thomas Fucks在跨浏览器问题上犯了迷糊,而是经过了认真考虑后为了降低文件尺寸而做出的决定,就像jQuery的团队在2.0版中不再支持旧版的IE(6 7 8)一样。因为Zepto使用jQuery句法,所以它在文档中建议把jQuery作为IE上的后备库。那样程序仍能在IE中,而其他浏览器则能享受到Zepto在文件大小上的优势,然而它们两个的API不是完全兼容的,所以使用这种方法时一定要小心,并要做充分的测试。(2)、操作的区别:添加id时jQuery不会生效而Zepto会生效。(3)、事件触发的区别:使用 jQuery 时 load 事件的处理函数不会执行;使用 Zepto 时 load 事件的处理函数会执行。(4)、width()和height()的区别:Zepto由盒模型(box-sizing)决定,用.width()返回赋值的width,用.css('width')返回加border等的结果;jQuery会忽略盒模型,始终返回内容区域的宽/高(不包含padding、border)。(5)、offset()的区别:Zepto返回{top,left,width,height};jQuery返回{width,height}。(6)、,Zepto无法获取隐藏元素宽高,jQuery 可以。(7)、Zepto中没有为原型定义extend方法而jQuery有。(8)、Zepto 的each 方法只能遍历 数组,不能遍历JSON对象。(9)、Zepto在操作dom的selected和checked属性时尽量使用prop方法,在读取属性值的情况下优先于attr。Zepto获取select元素的选中option不能用类似jQuery的方法$('option[selected]'),因为selected属性不是css的标准属性。应该使用$('option').not(function(){ return !this.selected })。
zepto和jquery的区别有哪些
zepto和jquery的区别有哪些?本篇文章就给大家介绍zepto是什么?zepto和jquery的区别,让大家对zepto有一个了解,知道zepto和jquery的区别是什么,希望对你们有所帮助。zepto是什么?Zepto是一个基于jQuery库的现代浏览器的极简主义JavaScript库。Zepto的API和语法与jQuery的API和语法相同,所以如果你知道jQuery,你就知道Zepto了。Zepto是一个真正的移动优化库,它对于完整的Javascript库来说,是一个非常小的文件大小,非常适合创建移动应用程序。Javascript库加载到我们网页上的速度越快。zepto和jquery的区别有哪些?1、DOM 操作区别DOM 操作在添加id时,jQuery不会生效,而Zepto会生效(function($) { $(function() { var $list = $('jQuery 插入', { id: 'insert-by-jquery' }); $list.appendTo($('body')); });})(window.jQuery);jQuery操作的 ul 上的 id 不会被添加。Zepto(function($) { var $list = $('Zepto 插入', { id: 'insert-by-zepto' }); $list.appendTo($('body'));});Zepto 可以在 ul 上添加 id。2、事件触发区别使用jquery时,不会执行load事件的处理函数。例:(function($) { $(function() { $script = $('', { src: 'http://cdn.amazeui.org/amazeui/1.0.1/js/amazeui.min.js', id: 'ui-jquery' }); $script.appendTo($('body')); $script.on('load', function() { console.log('jQ script loaded'); }); });})(window.jQuery);使用 Zepto时,会执行load 事件的处理函数。例:Zepto(function($) { $script = $('', { src: 'http://cdn.amazeui.org/amazeui/1.0.1/js/amazeui.js', id: 'ui-zepto' }); $script.appendTo($('body')); $script.on('load', function() { console.log('zepto script loaded'); });});3、width() 或 height()的区别:在Zepto和jQuery中使用width() 或 height()获取的值是不一样的:在Zepto中width() 与 height()获取的值由盒模型(box-sizing)决定。在jQuery中,会忽略盒模型,width() 与 height()始终返回内容区域中不包含内边距(padding属性)、边框宽度(border)的宽和高。例:边框三角形宽高的获取假设用下面的 HTML 和 CSS 画了一个小三角形:.caret { width: 0; height: 0; border-width: 0 100px 100px; border-color: transparent transparent blue; border-style: none dotted solid;}运行结果:则,jQuery使用 .width() 和 .css('width') 都返回 0px,高度也一样返回0px;而Zepto 使用 .width()会返回 200px,使用 .css('width')则返回 0px。4、offset()的区别Zepto offset()处理角度与jQuery不同。在Zepto中,offset()会获取并返回 top、left、width、height四个值;在jquery中,offset()就只获取并返回width、height两个值。如果是隐藏元素,Zepto无法获取其宽高;但jquery可以获取隐藏元素的宽高。5、data()的区别与jQuery不同,Zepto不会尝试从存储在data-*属性中的值进行任何类型的推断。6、clone()的区别Zepto clone()不支持传递参数来克隆事件处理程序,但jQuery支持。总结: