我很高兴地宣布 jQuery 1.1.3 的发布。经过数月的测试、开发和更多测试,我们发布了一个非常稳定的版本供下载。它包含了大约 80 多个已修复的错误 和一些增强功能。亮点包括
- 速度提升,DOM 遍历比 1.1.2 快 800% 以上。
- 重写的事件系统,更优雅地处理键盘事件。
- 重写的特效系统(附带 fx 测试套件),具有更快的执行速度和更好的跨平台支持。
更新 – 7 月 4 日我们刚刚完成了一个快速错误修复版本,版本号为 1.1.3.1,它修复了 一些未解决的问题。
下载
与往常一样,如果你发现此版本中的任何错误,请将其发布到 jQuery 错误跟踪器。
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 “foo.bar” 的 div)选择具有 ID(或其他选择器)的元素,这是经常被要求的特性
$("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 中被移除后,此选择器现在又回来了,因为广大用户的要求。它允许你定位空格分隔属性(例如类或 rel 属性)中的单个项目。
$("a[@rel~=test]")
动画改进
速度: 动画现在速度更快、更流畅。此外,你可以在不降低速度的情况下运行更多同时进行的动画。
测试: 我们现在有一个专门用于动画的测试套件——这使我们能够修复许多以前无法定位的紧迫的动画错误。
DOM 事件监听器
在内部,jQuery 事件系统已被彻底修改为使用 DOM 事件系统,而不是传统的“onclick” 样式的事件处理程序绑定。这项改进允许你在使用库时更加不具侵入性(不影响周围其他库的流程)。此外,它还有助于解决绑定到 IFrames 的事件监听器的一些未解决问题。
事件规范化
已经采取了一些措施来规范化键盘和鼠标事件。现在你可以访问 event.which 属性来获取有关按下或按钮的特定键的更多详细信息。
多个 .is()
.is() 方法现在可以接受多个用逗号分隔的选择器。这允许你将 jQuery 集合与多个选择器进行测试。
$("div").is(":visible, :first")
浏览器版本
一个经常被插件作者要求的功能是确定他们的用户正在使用哪个浏览器版本。现在我们公开了一个额外的属性,可以通过该属性访问此信息。
jQuery.browser.version
更多错误修复
请参阅 工单列表 以获取此版本中解决的所有问题的完整列表。
jQuery 的未来
我们非常关注 jQuery 项目的进展方向。我们现在专注于许多不同的方面,但主要关注点仍然是核心 jQuery 库的进步。我们已经规划了接下来的两个版本,你可以在下面了解更多信息
jQuery 1.1.4
这将是 jQuery 1.1 分支的最后一个版本——另一个包含一些小改进的错误修复版本。此版本还将标记一些方法为已弃用,以符合即将发布的 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 开发密集型应用程序和游戏的演讲。
由于将在波士顿 Ajax Experience 上有许多 jQuery 团队成员,我们想宣布我们计划在 Ajax Experience 之后的一天举办一个小型、为期一天的 jQuery 会议。这将是与 jQuery 团队会面并提出任何令人困扰的问题的绝佳机会。我们还将发表一些关于 jQuery 特定方面的演讲。我们很快会提供更多详细信息。
jQuery UI
今天,我们还很高兴地宣布一个我们一直在进行中的秘密项目:jQuery UI。这个项目由 Paul Bakaus 编写,是一个全新的拖放库,从一开始就考虑到速度和可扩展性。此外,非常注重代码的完整文档和测试——允许许多其他开发人员使用和帮助扩展它。
该库将包含 Draggables、Droppables、Sortables、Resizables 和 Slider 的完整代码。
你可以在 SVN 存储库 中查看 Paul 的一些早期工作。
资金和感谢
新的 jQuery UI 库标志着 jQuery 项目的一个新步骤:这是我们使用你(jQuery 用户)捐赠的资金赞助开发的一段代码!
这是通过两种方式实现的:首先是通过你持续的支持和 对 jQuery 项目的捐赠,其次是 Media Temple 的慷慨服务器捐赠。这使我们能够将财务资源集中在其他对每个人都有益的项目上。
因此,我想借此机会请求更多捐赠,以帮助我们继续资助令人兴奋的新工作,你可以在你的网站中使用这些工作。任何帮助都将不胜感激。
再次感谢 jQuery 团队和所有帮助使此版本成为可能的人。这需要付出很多努力,但我希望你对这个版本感到满意,就像我们一样。谢谢——感谢你使用 jQuery!