我很高兴宣布 jQuery 1.1.3 版本发布。经过几个月的测试、开发和更多测试,我们发布了一个非常稳定的版本供下载。它包含大约 80 多个已修复的 bug 和一些增强功能。主要亮点包括
- 速度提升,DOM 遍历速度比 1.1.2 版本快 800% 以上。
- 重写的事件系统,更优雅地处理键盘事件。
- 重写的效果系统(以及配套的 fx 测试套件),具有更快的执行速度和更好的跨平台支持。
更新 - 7 月 4 日我们刚刚完成了一个快速的 bug 修复版本,版本号为 1.1.3.1,修复了 几个未解决的问题。
下载
像往常一样,如果你在这个版本中发现任何 bug,请在 jQuery Bug Tracker 上提交。
1.1.3 功能
选择器速度大幅提升
根据用户的强烈需求,我们深入研究并对 jQuery 的选择器引擎进行了重大改进。以下是对 jQuery 本身速度改进的细分。所有数据都基于 SlickSpeed 测试套件。
浏览器 |
jQuery 1.1.2 |
jQuery 1.1.3 |
提升% |
IE 6 |
4890ms |
661ms |
740% |
Firefox 2 |
5629ms |
567ms |
993% |
Safari 2 |
3575ms |
475ms |
753% |
Opera 9.1 |
3196ms |
326ms |
980% |
平均提升 |
867% |
此外,我们还使用 SlickSpeed 测试套件对改进后的代码库进行了一些其他流行的选择器库的测试。
浏览器 |
Prototype |
jQuery |
Mootools |
Ext |
Dojo |
IE 6 |
1476ms |
661ms |
1238ms |
672ms |
738ms |
Firefox 2 |
219ms |
567ms |
220ms |
951ms |
440ms |
Safari 2 |
1568ms |
475ms |
909ms |
417ms |
527ms |
Opera 9.1 |
220ms |
326ms |
217ms |
296ms |
220ms |
查看 速度套件 结果时需要注意以下几点:
- 我们的速度比 jQuery 1.1.2 快 800% 以上。
- 在最流行的浏览器 Internet Explorer 6 中,我们是速度最快的框架。
- 我们是唯一一个没有给出错误结果的框架。
- 所有这些都没有给你带来任何负担 - jQuery 仍然是那个你所熟悉和喜欢的 20KB 的库。
新的选择器
Unicode 选择器:这对那些想要使用 Unicode 属性值、ID、类名或标签名的用户来说是一个巨大的改进。你现在可以直接在 jQuery 选择器中使用它们
$("div.å°åŒ—")
$("div#å°åŒ—")
$("foo_barå°åŒ—")
$("div[@id=å°åŒ—]")
转义选择器:一个经常被请求的功能,你现在可以使用特殊字符选择元素(例如 ID 或其他选择器),例如,这将找到 ID 为“foo.bar”的 div
$("div#foo\\\\.bar")
不等式选择器:虽然此选择器不是 CSS 规范的一部分,但它经常被使用并包含在其他选择器库中,因此我们决定将其添加进来
$("div[@id!=test]")
:nth-child() 改进:此选择器允许你定位特定的子元素。从 jQuery 的开始,我们就支持 :nth-child(1) 和 :nth-child(odd) 等选择器,现在我们添加了高级的 :nth-child 选择器,例如
$("div:nth-child(2n)")
$("div:nth-child(2n+1)")
$("div:nth-child(n)")
用空格分隔的属性:在 jQuery 1.0 中被删除后,这个选择器现在根据用户的强烈需求被重新引入。它允许你定位用空格分隔的属性(如 class 或 rel 属性)中的单个项目。
$("a[@rel~=test]")
动画改进
速度:动画现在明显更快更流畅。此外,你可以运行更多的同时动画,而不会造成任何速度损失。
测试:我们现在有一个专门的动画测试套件,它使我们能够修复许多以前无法定位的动画 bug。
DOM 事件监听器
在内部,jQuery 事件系统已经被改写为使用 DOM 事件系统,而不是传统的“onclick”样式的绑定事件处理程序。这种改进使你在使用库时更不显眼(不会影响其他库周围的流程)。此外,它还帮助解决了一些与将事件监听器绑定到 iframe 相关的未解决问题。
事件规范化
在规范化键盘和鼠标事件方面取得了一些进展。你现在可以访问 event.which
属性来获取有关所按特定键或按钮的大多数详细信息。
多个 .is()
.is()
方法现在可以接受多个选择器,用逗号分隔。这使你能够针对多个选择器测试你的 jQuery 集合。
$("div").is(":visible, :first")
浏览器版本
插件作者经常要求的一个功能是确定用户使用的是哪个浏览器版本。我们现在公开了一个额外的属性,可以通过它访问此信息。
jQuery.browser.version
更多 bug 修复
有关此版本中解决的所有问题的完整列表,请查看 票证列表。
jQuery 的未来
我们一直非常关心 jQuery 项目的进展方向和取得的进展。我们现在关注许多不同的方面,但首要任务仍然是推进 jQuery 核心库的发展。我们已经规划了接下来的两个版本,你可以在下面了解更多信息
jQuery 1.1.4
这将是 jQuery 1.1 分支的最后一个版本 - 另一个 bug 修复版本,包含一些小的改进。这个版本还将根据即将发布的 jQuery 1.2 版本,将一些方法标记为已弃用。
我们目前计划在 7 月底发布这个版本。
这将是 jQuery 的下一个主要版本,包含大量的新的功能。你可以在 jQuery 1.2 路线图 中找到有关此版本的详细信息。
我们非常感谢你对这个版本的意见和反馈。它仍在规划中,所以还没有完全确定。我们目前计划在 8 月底发布 jQuery 1.2。
jQuery 图书
我们现在已经有 **4** 本关于 jQuery 的书正在编写,更重要的是,它们都是由 jQuery 团队的成员编写的(所以你确信自己正在获得好的信息)。
这些书籍及其作者如下:
- 学习 jQuery 由 Karl Swedberg 和 Jonathan Chaffer 撰写 - 预计于 2007 年 7 月初出版(Packt Publishing)。
- jQuery 参考指南 由 Karl Swedberg 和 Jonathan Chaffer 撰写 - 预计于 2007 年夏季出版(Packt Publishing)。
- 快速掌握 jQuery 由 Yehuda Katz 和 Bear Bibeault 撰写(Manning Publishing)。
- 使用 jQuery 进行设计 由 Glen Lipka 撰写(Manning Publishing)。
这真是个好消息。我已经阅读了一些预发行的章节,我认为你会非常喜欢这些书。
jQuery 演讲和会议
我想宣布在接下来的几个月里将进行一些关于 jQuery 的演讲。具体来说,将在两个 Ajax Experience 会议上进行一些关于 jQuery 的演讲。
在旧金山 Ajax Experience 上,John Resig 将会进行一个 jQuery 入门概述演讲,之后会进行一个高级 jQuery 演讲。Glen Lipka 将会进行一个关于使用 jQuery 进行设计的演讲。
在波士顿 Ajax Experience 上,John 和 Glen 将会再次进行演讲,并将与 Paul Bakaus 共同进行一个关于使用 jQuery 开发高强度应用程序和游戏的演讲。
由于 jQuery 团队的很多成员都会参加波士顿 Ajax Experience,所以我们想宣布,我们计划在 Ajax Experience 结束后的第二天举办一个为期一天的小型 **jQuery 会议**。这将是你与 jQuery 团队见面并提出任何萦绕在心头的问题的绝佳机会。我们还将进行一些关于 jQuery 特定方面的演讲。我们很快会提供更多关于此会议的信息。
jQuery UI
今天,我们还很高兴宣布一个我们一直在开发的秘密项目:jQuery UI。这个项目由 Paul Bakaus 编写,是一个全新的拖放库,从头开始开发,考虑了速度和可扩展性。此外,我们还非常重视代码的完整文档和测试 - 允许许多其他开发人员使用和帮助扩展它。
这个库将包含完整的可拖动、可放置、可排序、可调整大小和滑块代码。
你可以在 SVN 库 中查看 Paul 的一些早期工作。
资金和感谢
新的 jQuery UI 库标志着 jQuery 项目的一个新阶段:这是一个我们使用由你(jQuery 用户)捐赠的资金资助的代码片段!
这可以通过两种方式实现:首先是你的持续支持和对 jQuery 项目的 捐赠,其次是 Media Temple 对我们的大方捐赠。这使我们能够将财务资源集中到其他最有利于所有人的项目上。
因此,我想借此机会请求你额外捐款,以帮助我们继续为激动人心的新工作提供资金,你可以在你的网站上使用这些工作。任何帮助都将不胜感激。
再次感谢 jQuery 团队以及所有帮助实现此版本发布的人员。这是一个漫长的过程,但我希望您能像我们一样对这个版本感到满意。谢谢,感谢您使用 jQuery!