jQuery 1.10.0 和 2.0.1 发布
对于软件发布来说,这是一个美好的日子。如此美好的日子,我们要进行 *两次* 软件发布!今天发布的是 jQuery 1.10.0 和 jQuery 2.0.1,它们是 jQuery 1.2.6 发布 五周年纪念日的礼物。
同时发布并不总是容易,但它可能非常令人满意。团队对这两个交付版本感到满意;那些已经升级到 1.9/2.0 版本的用户应该很容易使用这些版本。如果您正在升级旧代码,则 jQuery 1.9 升级指南 中的建议也适用于这两个版本。另外,请不要忘记 jQuery. 2.0 不支持 IE 6、7 或 8,因为我们将此工作留给了 1.x 分支。如果您需要帮助更新或维护旧的 1.9 之前的 jQuery 代码,请不要忘记 jQuery Migrate 插件。
与往常一样,最新版本都在我们的 下载页面 上提供。
有什么新变化?我们发布这两个版本的主要目标是同步 1.x 和 2.x 代码行的功能和行为,正如我们在一年之前宣布 jQuery 2.0 时承诺的那样。展望未来,我们将努力保持这两个版本的同步,例如,1.11 和 2.1 将具有功能等效性。我们预计您不会发现任何这些更改会造成破坏。以下是一些亮点:
放松的 HTML 解析: 您现在可以在 $(htmlString)
中的标签之前再次使用前导空格或换行符。我们仍然 *强烈* 建议您在解析从外部来源获取的 HTML 时使用 $.parseHTML()
,并且将来可能会对 HTML 解析进行进一步的更改。
更高的模块化: 在任何一个版本中,您现在都可以进行自定义构建,其中不包含 .wrap()
、.wrapAll()
、.wrapInner()
和 .unwrap()
方法。如果您的所有代码都使用 jQuery 1.7 中引入的较新的 .on()
事件方法,您也可以排除 .bind()
和 .delegate()
。在 jQuery、Google 和 Microsoft CDN 上提供的构建版本继续包含所有方法,以提供最大的兼容性。
不再有 IE9 中的死亡焦点: 如果 iframe 内的页面尝试在页面准备就绪之前聚焦元素,甚至尝试读取 document.activeElement
,都会导致错误。我们现在 解决了 这个问题。
2.0.1 中的 Cordova 错误修复: Cordova deviceready
事件不会正确设置事件目标,因此我们通过将目标设置为 document
来解决这个问题。
非常感谢为 jQuery 1.10.0 或 jQuery 2.0.1 贡献工作的人:Brandon Johnson、Chris Talkington、Dmitry Gusev、James Burke、Jason Bedard、Julian Aubourg、Kyle Robinson Young、Mark Raddatz、Michał Gołębiowski、Nguyen Phuc Lam、Oleg Gaidarenko、Renato Oliveira dos Santos、Richard Gibson、Rick Waldron、Scott González、Timmy Willison、Timo Tijhof 和 Tom H Fuertes。
jQuery 1.10.0 变更日志
Ajax
属性
- #13835: 当类包含换页符时,hasClass 失败
- #13809: Closure Compiler/YUI Compressor 失败
- #13752: 非可聚焦元素的 tabIndex propHook 的默认值应为 -1
- #13514: 在 IE9 中,使用 .val() 设置 select 元素的“错误”值与其他浏览器不一致
- #12072: 移除 Firefox 中已弃用的 nodeValue、getAttributeNode、specified
构建
- #13741: 将 wrap*/unwrap 方法作为可选模块
- #13755: 将 .jshintrc 更新为与风格指南匹配
- #13776: 许可证注释破坏了 SourceMap
- #13793: Google 上的 SourceMap 已损坏
核心
- #12199: IE < 9 中的 $.isPlainObject 假阳性
- #13223: JQUERY 1.9 + 客户端模板 = “语法错误,无法识别的表达式”
- #13744: 将 jQuery.fn.size 移动到已弃用
事件
操作
- #13401: 使用空字符串的 .replaceWith( “” ) 不起作用
- #13596: .replaceWith 应该始终删除上下文集
- #13721: remove(“:nth-child(1)”) 与 filter(“:nth-child(1)”).remove() 的工作方式不同
- #13722: replaceWith 参数处理与其他操作方法不一致
选择器
- #13331: jQuery.fn.add 在 Chrome 和 Safari 中返回错误的顺序
- #13420: jQuery 1.9.1 无法使用 .parent() 和 .closest() 通过类名过滤 SVG 父节点
- #13505: jquery#add: 在较大的列表中似乎按错误顺序获取集合中的项
- #13777: IE7 中的 jQuery 属性选择器无法正常工作
- #13894: .children 未返回直接子元素,但 .find 却返回了 [仅限 Firefox]
支持
- #12040: 测试内容安全策略 (CSP)
- #13743: 移除 jQuery.support.boxModel
- #13754: 在具有 Element 上的 innerHTML 并在通过 createElement 创建非 HTML 元素的 UA 中,jQuery 无法在非 HTML 文档中工作
遍历
jQuery 2.0.1 变更日志
Ajax
属性
数据
- #13815: 使用 data(object) 设置数据属性产生的结果与 data(key, value) 不同
- #13850: .data() 和 removeData() 在使用带连字符的属性时无法正常工作
效果
事件
- #13554: 将 [un]bind 和 [un]delegate 移动到 event-alias
- #13255: jQuery 2.0b1 和 Cordova 2.3.0 导致“Uncaught TypeError: Cannot read property ‘nodeType’ of null”。
应该把它叫做 jQuery Lite(或类似的),这样两个版本就可以共享相同的版本号。只是说一下。
令人印象深刻,我想我会再坚持一年使用 IE 8 支持。
干得好,团队!
感谢你们的贡献。
非常感谢 jQuery 1.10.0 和 2.0.1。我使用 jQuery 1.x 和 2.x,并使用适当的条件注释。
顺便说一句,jQuery 博客是我唯一关心的没有 RSS 提要的博客。我已经等待多年来添加(或修复) RSS 提要。随着 Google 阅读器的关闭,似乎 RSS 提要不再流行,因此 jQuery 博客可能永远不会有 RSS 提要。我刚刚寻找了解决方案,发现 Twitter 帐户有 RSS 提要。以下是 jQuery Twitter 帐户的 RSS 提要,其中没有典型的 Twitter 噪音
https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=jquery
subsection1h:有一个 RSS 提要。 https://blog.jqueryjs.cn/feed/
您好,ash。当我在 Thunderbird 中尝试订阅 https://blog.jqueryjs.cn/feed/ 时,我收到一个错误,指出“提要 URL 不是有效的提要”。此外,该 URL 在 W3C 提要验证服务中无法验证,因此我猜问题不在 Thunderbird 上。
我在 jQuery 博客上看到过多个评论者说他们的提要也坏了。以下搜索结果显示了其中一些评论
https://google.com/search?q=site:blog.jquery.com+broken+feed+OR+rss
我记得 jQuery 博客上的一位贡献者曾经承认过这个问题。我不记得是谁承认了,但我似乎记得他们说过这个问题最终会得到解决,这就是为什么我一直没有寻找解决方案,直到今天才开始寻找。
非常好!
您好,我遇到了一个问题,一段代码在 jquery 1.9.1 中对我有用,但在 1.10.0 中不起作用。
它正在动画变量 - carousel.animate({left: ‘-=’+width}); - 我不知道问题出在哪里
很棒的工作。现在要更新了。已迁移到 jquery 2。让我们推动 Web 发展。
哇,已经有了新版本;太棒了!
我不确定是否需要提交错误报告,但 .map 文件在哪里?也许在這裡列出以便于那些自建站点的用户:https://jqueryjs.cn/download/
也许它丢失了,这可以解释为什么 cdnjs.com 列出了 2.0.1 和 1.10.0,但没有 .map,尽管以前版本的 .map 已经托管?
> 现在你可以进行自定义构建,其中排除 .wrap()、.wrapAll()、.wrapInner() 和 .unwrap() 方法
抱歉,下载页面和网站搜索都找不到关于如何执行此操作的任何信息。可以添加它吗?
先谢了!
地图托管在我们的 CDN 上,您将在 .min.js 文件中看到地图注释。看起来 CDNJS 的人只是忘记复制它了,您需要联系他们。
关于如何进行自定义构建的说明有意隐藏在 README.md 文件中,您永远不会想到在那里寻找它们,而且它还在几个旧的博客文章中被讨论过。
这(在下面的“快速访问”中)不应该
//ajax.googleapis.ac.cn/ajax/libs/jquery/1.9.1/jquery.min.js
是
//ajax.googleapis.ac.cn/ajax/libs/jquery/1.10.0/jquery.min.js
吗?
@dmethvin: 已向 CDNJS 发送建议,谢谢
>有意隐藏在 README.md 中
哈哈,它就在那里!是的,我至少希望在这篇博文中有一个链接,或者在 jquery.com 上有一个官方文档。我在这里快速搜索了一下,并浏览了最近的几篇博文,但没有看到任何东西。
@Clay 昨晚我查看时,新版本不在 gooleAPIs 或 ASP.net 上;我以为是美国节假日休息的影响。
有谁知道最新版本的 jQuery mobile 是否与这些版本兼容?我知道 2.0.0 不兼容。:(
从 v2.0.0 升级到 v2.0.1 后,.animate({ top: ‘-=’ + delta }) 出现问题
JQuery Effect Animate 不再支持相对值。
例如:$.animate({width:’+=50px’});
我正在等待调整。
:)
谢谢。
很高兴“IE9 死亡焦点”问题得到了解决。干杯。
我甚至没有注意到 CDN 链接是谷歌的;为什么 jQuery 至少一开始不显示自己的 CDN href 呢?
animate += 10 不起作用
@dmethvin CDNJS 已修复!尚未在他们的索引中列出,但现在它们已存在
http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.0/jquery.min.map
http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.1/jquery.min.map
干杯
我在开发中的站点中添加了以下内容
//ajax.googleapis.ac.cn/ajax/libs/jquery/1.10.0/jquery.min.js
…它运行良好。
animate -=* 不起作用 :(
仍然臃肿。
我希望它更轻量级。
非常感谢所有参与的人。jQuery 改变了客户端 Web 开发的方式,让生活变得更加简单。棒极了。