前两天jQuery更新出了jQuery 1.3的beta版,今天有空看了看到底更新了点什么
看了下代码,选择器用上了新的引擎Sizzle咯。(Sizzle为何?见下面简介)
得益于新的引擎,选择器支持:not(div,p)这种了多重的not了
增加了一个closest方法,用来找最近的一个匹配选择器的父元素。
LiveQuery似乎也集成了,用$(elem).live(type,fn)就能注册事件了,新添加的元素也同样享受这个服务~无须重新帮定了。不想要的时候让他die()就行了。
更多的还没来得及看,不过看到了JavaEye上的文章(下面已附上原文),把这次的更新都说全了。可以移步去看看。Cloudream在两个月前就对jQuery 1.3的alpha有所阐述了,建议也可以看看。
这次刚刚升级的大版本Bug一般都会很多,所以请不要急着用于产品中,建议等到明年3、4月份的时候有没有新的修正版出来的时候再升级到1.3版。
补充内容:
Sizzle是jQuery作者John Resig新写的DOM选择器引擎。其速度号称业界第一……
不过简单看了一下,对于支持document.querySelectorAll的浏览器就主要用这个了(比如IE8),支持getElementsByClassName的也会优先用这个(Firefox等)。
也还有一些其他优化。
如果只想要用一个出色的选择器工具而不想要引入jQuery,可以考虑直接用Sizzle,超好用。压缩后才3、4K。完全可以基于此开发一套自己的脚本库。
jQuery 1.3 Beta发布了,John Resig和jQuery开发团队请求社区的测试帮助。
这是一个大的发布版本,jQuery中很多地方得到改进:
- 最重要的改进:Sizzle被集成进入jQuery,Sizzle是Dom Selector Engine,这个选择器引擎目前成为jQuery新一代的默认选择器引擎,相比原来的jQuery引擎,速度有很大提升。Sizzle作者就是jQuery之父: John Resig。
- 没有浏览器测试:例如,没有if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) 替代为: if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) )
- 动态事件代表live event delegation:意思是如果你后面添加元素,也会进入同一位置,通过$("#foo > div").live("click", someFn); 在jQuery中获得同样效果。
- $(this).closest("div");: 返回这个或者最近的符合选择器的父元素。
- .offset()重写:明显提高速度,不需探查浏览器
- .hide()/.show()重写:提升了50%-200%速度
- .append/prepend/before/after重写:提升了10-15倍速度。
jQuery 1.3 Beta 版本已发布,带来了许多显著改进,包括集成 Sizzle 作为新一代选择器引擎,增加了 .closest() 方法,重写了 .offset()、.hide() 和 .show() 等方法,大幅提升性能。

5134

被折叠的 条评论
为什么被折叠?



