本文是一篇来自微软的 Web 开发系列文章的一部分。感谢您支持这位使 SitePoint 成为可能的合作伙伴。 jQuery,是迄今为止世界上最流行的 JavaScript 库,一直是我们这些 Web 开发者的神器。自从它在 2006 年发布最初版本直到如今,已经有非常多的 Web 开发者在项目中引入了这个优秀的库来使开发工作变得更轻松。 |
显示和隐藏主要的改变是函数将如何工作的。而且有很好的理由这样做。在早些实现上,hide() 函数设置 css 属性为“display:none”,show() 函数是清除这个属性。但是这样做有些混乱。让我们看看几个例子: 1. 如果当 show() 函数尝试设置一个节点为“display:block”而在另外一个样式表里实现了“display:inline”属性,这将开始破坏代码。 2. 当我们为媒质处理响应式网页设计时(RWD),我们也许会用“display”或者“visibility”改变节点的可见性。这可能会影响“show()”和“hide()”函数。 除了这些,还有很多 JQuery 团队不得不去修复的其它问题。这导致了复杂的实现和性能问题,因此他们迁移到一个简单的模型。 今后,如果你设置“display:none”和使用“show()”,“slideDown()”,“fadeIn()”或者类似的方法去显示节点,它不会有效。更好的方法是使用“addClass()”和“removeClass()”控制显示。或者可以在“ready()”调用的时候在元素上调用“hide()”。 迅速举个例子:
|
.data() Key 的命名规则
|
width() 与 height() 函数返回小数值
|
1
|
< img src = "space-needle.png" alt = "Space Needle" id = "spacen" > |
JavaScript:
早先的实现方式(现已不可用)
1
2
3
|
$( "#spacen" ).load( function () { // Handler implementation }); |
推荐的实现方式:
1
2
3
|
$( "#spacen" ).on( "load" , function () { // Handler implementation }); |
jQuery 对象现在可遍历了
现在已经可以遍历 jQuery 对象了,使用 ES2015 的 for-of。所以,你可以像这样使用:
1
2
3
|
for ( node of $( "<div id=spacen>" ) ) { console.log( node.id ); // Returns ‘spacen’ } |
(源码在这)
jQuery 动画现在在后端使用了 requestAnimationFrame API
|
jQuery.Deferred 升级为 Promises/A+ 兼容
|
更好地处理错误情况
|
对自定义选择器(如:visible )进行了加速当 :visible 之类的选择器在一个文档内多次使用时,性能得到了很大的提升。其内部是通过缓存来实现的 —— 第一次用过这个选择器后,以后返回结果都是一样的。但是其后的每一次调用返回结果都很快,因为缓存起作用了。来自 jQuery 的 Timmy Willison 在报告中指出使用缓存后 :visible 选择器的性能提升了 17 倍。 这些都是一些主要的更新。整个列表在他们的官方博客:http://blog.jquery.com/2015/07/13/jquery-3-0-and-jquery-compat-3-0-alpha-versions-released/. |
在哪里下载最新版本
|
1
2
|
npm install jquery@3.0.0-alpha1 npm install jquery-compat@3.0.0-alpha1 |
尽管去尝试一下这个 alpha 版本吧,然后可以到 https://github.com/jquery/jquery 反馈问题。这很值得一试!
更多的 Web 开发的实践这篇文章是微软的布道者和工程师在实际学习 JavaScript 系列文章中的一篇,开源项目和互操作性的最佳实践,包括微软的 Edge browser 和新 Edge HTML 渲染引擎。 |
从我们工程师那里和下面的福利清单中获得更深入的了解:
我们的社区开放源代码项目:
更多免费的工具和后台 web 开发小玩意:
|
本文转自:开源中国社区 [http://www.oschina.net]
本文标题:jQuery 3.0 的更新内容及使用方法
本文地址:http://www.oschina.net/translate/whats-new-jquery-use
参与翻译:ostatsu, 雪落无痕xdj, DJeeker, leoxu, 无若, 终日乾乾
英文原文:What's New in jQuery 3.0 and How to Use It