jQuery 3.3.1 – 修复发布标签中的依赖项

发布于 作者

我们在 jQuery 3.3.0 的发布中遇到一个问题,因此立即发布了另一个标签。代码本身完全相同,但我们的发布依赖项(仅在发布期间使用)由于 npm 版本 5+ 的新行为,被添加到 jQuery 包本身的依赖项中。

如果从 npm 或 GitHub 安装,现在推荐使用 jQuery 3.3.1。如果通过任何 CDN 使用 jQuery,则构建的文件仅在版本号上有所不同。

对于给您带来的不便,我们深表歉意,并已更新我们的发布脚本以解决此问题。

请参阅 jQuery 3.3.0 博客文章,了解此版本中的所有相关代码更改。

下载

您可以从 jQuery CDN 获取文件,或直接链接到它们

https://code.jqueryjs.cn/jquery-3.3.1.js

https://code.jqueryjs.cn/jquery-3.3.1.min.js

您也可以从 npm 获取此版本

npm install jquery@3.3.1

精简版

有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的许多独立库。而且,通常使用 CSS 和类操作来完成所有 Web 动画会更简单。除了包含 ajax 和效果模块的常规 jQuery 版本之外,我们还发布了一个“精简”版本,不包括这些模块。如今,jQuery 的大小很少成为加载性能问题,但精简版本比常规版本小约 6k gzip 字节 – 24k 与 30k。这些文件也可用在 npm 包和 CDN 上

https://code.jqueryjs.cn/jquery-3.3.1.slim.js
https://code.jqueryjs.cn/jquery-3.3.1.slim.min.js

这些更新已经作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方式的信息,请访问 https://jquery.org.cn/download/。公共 CDN 今天会收到其副本,请给它们几天时间来发布文件。如果您急于开始,请使用我们 CDN 上的文件,直到它们有机会更新为止。

jQuery 3.3.0 – 一束芬芳的弃用和……是新的功能吗?

发布于 作者

距离上次 jQuery 发布已经有一段时间了,但核心团队并没有闲着。我们为您带来了一个全新的小版本,甚至还包含了一个新功能!

.addClass().removeClass().toggleClass() 方法现在接受一个 数组 的类。


jQuery(elem).addClass([
   'dave', 'michał', 
   'oleg', 'richard', 
   'jason', 'timmy'
]);

通常,jQuery 并不希望添加任何新内容。我们倾向于更多地关注我们可以删除的内容,而不是我们可以添加的内容。但是,当我们看到这个功能请求时,我们想知道为什么之前没有添加它。

从 jQuery 3.0+ 升级时,不应存在兼容性问题。如果您尚未升级到 jQuery 3+,请查看 3.0 升级指南jQuery Migrate 3.0 插件 将帮助您识别代码中的兼容性问题。

请尝试使用此新版本,并 告知我们您遇到的任何问题

弃用

在这个版本中,我们修剪了一些玫瑰、百合和向日葵。其中一些闻起来会更香,但把它们放在一起,你就会得到一束美丽的……弃用康乃馨

这些函数随着时间的推移已经失去了部分用处,或者被认为不如可用的替代方案更好,或者最初是用于内部用途的。虽然大多数这些将在 jQuery 4.0 中删除,但值得注意的是,我们不认为弃用方法意味着它将被删除;这意味着我们鼓励使用替代方案。例如,像 .click() 这样的事件别名可能永远不会被删除。

命令行测试

伟大的 Timo Tijhof 使能够 使用 grunt 和 karma 在命令行上运行所有 jQuery 测试。这是我们一直想要但由于需要 php 服务器来运行 ajax 测试而变得复杂的事情。感谢 Timo 的实现!

注意:jQuery 不再运行任何 PhantomJS 1.x 上的测试。

下载

您可以从 jQuery CDN 获取文件,或直接链接到它们

https://code.jqueryjs.cn/jquery-3.3.0.js

https://code.jqueryjs.cn/jquery-3.3.0.min.js

您也可以从 npm 获取此版本

npm install jquery@3.3.0

精简版

有时您不需要 ajax,或者您更喜欢使用专注于 ajax 请求的许多独立库。而且,通常使用 CSS 和类操作来完成所有 Web 动画会更简单。除了包含 ajax 和效果模块的常规 jQuery 版本之外,我们还发布了一个“精简”版本,不包括这些模块。如今,jQuery 的大小很少成为加载性能问题,但精简版本比常规版本小约 6k gzip 字节 – 24k 与 30k。这些文件也可用在 npm 包和 CDN 上

https://code.jqueryjs.cn/jquery-3.3.0.slim.js
https://code.jqueryjs.cn/jquery-3.3.0.slim.min.js

这些更新已经作为 npm 和 Bower 上的当前版本提供。有关获取 jQuery 的所有方式的信息,请访问 https://jquery.org.cn/download/。公共 CDN 今天会收到其副本,请给它们几天时间来发布文件。如果您急于开始,请使用我们 CDN 上的文件,直到它们有机会更新为止。

感谢

感谢所有参与本次发布的人员,包括提交补丁、报告错误或进行测试的 Andreas Solledar, Basil Belokon, Boom Lee, “CDAGaming”, Dave Methvin, Erik Lax, Henry Zhu, Jason Bedard, Jordan Beland, Matan Kotler-Berkowitz, Michał Gołębiowski-Owczarek, Nilton Cesar, Pierre Spring, Richard Gibson, Saptak Sengupta, Shashanka Nataraj, Steve Mao, Timo Tijhof, Faisal Irfan Yar Khan,以及整个 jQuery 团队。

 

变更日志

GitHub changelog: 3.3.0 中修复的问题 | 所有更改

Ajax

  • 为所有请求添加 ontimeout 处理程序 (#3586, 262acc6f)
  • 不要处理无实体主体请求上的非字符串数据属性 (#3438, d7237896)

属性

  • 功能:允许在 add/remove/toggleClass 中使用数组参数 (#3532, 80f57f8a)

构建

  • 在 Node.js 8 上测试,停止在 Node.js 7 上测试 (bef46a2a)
  • 更新到 Babel 7,使用 for-of 插件而不是 preset-es2015 (90bac40a)
  • 删除 package-lock.json,将其添加到 .gitignore (#3792, 7037facc)
  • 在 Node.js 9 上测试 (3e902a81)
  • 修复 Android 4.0 中的 UglifyJS 输出;更新 uglify (#3743, c9efd11f)

核心

CSS

  • 从 cssProps 中删除浮点数映射 (bbf33428)
  • 正确设置具有非默认缩放的 support 属性 (#3808, f00a0759)
  • 检测错误报告为百分比的更多 WebKit 样式 (#3777, 94ddf620)
  • 检索内联样式之前计算 (c4598da4)
  • 避免来自 CSS 上限的单位转换干扰 (#2144, 692f9d4d)

Deferred

Dimensions

  • 改进 offsetWidth/offsetHeight 回退 (#3698, #3602, a4957849)
  • 在“padding”框中包含滚动沟槽 (#3589, 80f1c823)
  • 回退到内联元素的 offsetWidth/Height (#3571, 473d2ea7)
  • 不要信任非像素计算宽度/高度 (#3611, 3cf1d14c)
  • 检测并处理 content-box 尺寸处理不当的问题 (#3699, 3fcddd6e)

文档

  • 创建 CODE_OF_CONDUCT.md (e84d3bc0)
  • 更新 stripAndCollapse 的 HTML 规范链接 (#3594) (e1b1b2d7)

事件

  • 将事件别名移动到已弃用部分 (#3214, 022b69a4)
  • `stopPropagation()` 在原生事件处理程序上 ( #3693, 490db839)

Filter

  • 在 winnow 中使用直接过滤器 (#3272, 4765bb5c)

操作

  • 使用 `.children` 选择 tbody 元素 (a88b48ea)
  • 添加对具有 module 类型脚本的支持 (#3871, 5d3a968e)

Offset

  • 使用正确的偏移父元素;包含所有边框/滚动值 (#3080, #3107, 1d2df772)

支持

  • 正确检查 IE9 绝对滚动框处理不当的问题 (#3699, #3730, 20cdf4e7)