JQuery目前已经发布到1.3.1版本,但1.3.1版只是对1.3版存在的部分bug进行了修正,没有功能上的变化。
JQuery1.3的升级主要是内部实现的改变,重写了此前存在效率瓶甄的方法。官方的测试结果表明,1.3的性能有了很大的提高,主要表现在选择器、事件绑定、DOM动态修改、offset方法的偏移量计算和动画。具体如下:
- Sizzle Selector Engine
JQ1.3中CSS选择器已经单独分离出来,命名为Sizzle JavaScript Selector Library,并启动了一个新的项目,目的在于联合主流的框架开发者来参与开发,让框架的选择器使用更统一、更高效。目前已经有Prototype, Dojo, Yahoo UI, MochiKit, and TinyMCE等等加入此项目开发。
- live Events
Event对象中增加了live和die两个方法,支持了对新增元素的事件"自动绑定"。
- jQuery Event Object
新的Event对象更接近W3C的标准,浏览器的兼容性更好。
- HTML Injection Rewrite
HTML插入方式(例如append, prepend, before, after)大范围重写。在复杂的jquery程序中,HTML插入效率是一个很大的瓶甄。1.3版本重写了内部实现,提高了这些方法的运行效率,但此前的API没有更改。
DOM创建方法的变化:
$("<script/>")等同于$("<script></script>")
- Offset Rewrite
Offset 方法重写,目的在于提高此方法的效率和浏览器的兼容性。
- No More Browser Sniffing
浏览器特性的判断,这是1.3版中最大的一个改变。传统的做法是对客户端浏览器的类型和版本做探测,然后针对不同浏览器做代码的兼容。一旦浏览器升级或者解决某些BUG,就可能造成某些特性的改变,造成此前我们的JS代码不兼容。