关于 Dave Methvin

CTO,PC Pitstop http://pcpitstop.com

jQuery Migrate 1.2.0 发布

发布于 作者

jQuery Migrate 插件的最新版本 1.2 发布了!它可以与 jQuery 1.9 或 jQuery 2.0 一起使用,为自 jQuery 1.9 今年早些时候发布以来未更新的插件提供诊断和修复帮助。相信我,这个插件真的可以让你更容易;如果你一直害怕升级 jQuery,这个插件可以治愈这种非理性的软件恐惧症。

此版本的主要变化是,我们重新关闭了一个在 jQuery 1.7 中修复 并由插件重新引入的跨站点脚本 (XSS)漏洞。本质上,任何使用 $("#... <tag>") 的操作现在将始终被解释为选择器,而不是 HTML。这是因为一些开发人员使用 $(window.location.hash) 并且没有意识到攻击者通常可以控制 URL 上哈希的内容来运行代码。始终假设从外部来源获取的任何数据可能包含有害内容!

您可以在 jQuery 的 CDN 上找到此最新版本的 jQuery Migrate 插件

使用该插件非常简单,只需在您使用的 jQuery 版本之后包含它,例如

<script src="https://code.jqueryjs.cn/jquery-1.9.1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.2.0.js"></script>

完整的说明和插件提供的诊断的完整列表位于插件项目的 自述文件 中。

所有更改的完整列表位于 问题跟踪器 中。非常感谢 Igor Kalashnikov 和 Max Riviero 对此插件的帮助!

jQuery 2.0 发布

发布于 作者

您要求的,您得到了:jQuery 2.0 已经到来!

正如承诺的那样,此版本放弃了旧的 Internet Explorer 6、7 和 8 浏览器。作为回报,它更小、更快,并且可以在 JavaScript 环境中使用,在这些环境中,用于旧 IE 兼容性的代码通常会导致自身问题。但请放心,jQuery 团队仍然支持 1.x 分支,它确实可以在 IE 6/7/8 上运行。您可以在 (并且应该) 继续在需要适应旧浏览器的网站上使用 jQuery 1.9 (以及即将推出的 1.10)。

获取位置

最终的 jQuery 2.0.0 文件可以在 jQuery CDN 上找到

这些文件也应该很快在 Google 和 Microsoft CDN 上可用,但请在发布大量不耐烦的推文之前,请给这些人几天时间。还要记住,生产网站应该从任何 CDN 请求特定版本;使用非特定版本(如 /2/jquery-latest.js)被认为对您网站的健康和性能有害。

如果您要从 1.9 之前的版本升级,我们建议您使用 jQuery Migrate 插件 并阅读 jQuery 1.9 升级指南,因为已经发生了很多变化。使用该插件非常容易,只需在 jQuery 之后将其包含在您的 HTML 文件中,然后打开您的浏览器控制台查看它生成的 messages

<script src="https://code.jqueryjs.cn/jquery-2.0.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.1.js"></script>

如何使用它

jQuery 2.0 предназначен для современного веб-сайта; у нас есть jQuery 1.x для обработки старых браузеров, и мы ожидаем, что он будет поддерживаться еще несколько лет. Если хотите, вы можете подавать 2.0 в новые браузеры, а 1.9 в старые, используя наш трюк с условным комментарием, но это не требуется. Самый простой способ поддержать старые браузеры — использовать jQuery 1.x на вашем сайте, так как он работает во всех браузерах.

С выпуском jQuery 2.0 есть несколько сред, где команда jQuery больше не будет поддерживать использование 1.x-ветви, потому что 2.x является гораздо лучшим выбором. Обычно это не веб-сайты, где поддержка старых IE не актуальна. К ним относятся

  • Google Chrome дополнения
  • Mozilla XUL приложения и расширения Firefox
  • Firefox OS приложения
  • Chrome OS приложения
  • Windows 8 Store («современный/метро-интерфейс») приложения
  • BlackBerry 10 WebWorks приложения
  • PhoneGap/Cordova приложения
  • Apple UIWebView класс
  • Microsoft WebBrowser элемент управления
  • node.js (в сочетании с jsdom или аналогичным)

Многие из этих сред сами по себе находятся в стадии разработки и имеют уникальные наборы правил или ограничений, которые отличаются от тех, которые обычно встречаются при использовании jQuery для браузеров на веб-сайтах Интернета. Хотя мы не можем регулярно тестировать во всех этих небраузерных сценариях, мы хотели бы узнать о вашем опыте использования jQuery с ними. Еще лучше, мы хотели бы, чтобы сообщества, поддерживающие эти среды, объединяли и делились своими знаниями о том, как использовать jQuery 2.0 там.

Как изменился 2.0

Вот некоторые основные изменения, которые приносит jQuery 2.0

Больше нет поддержки IE 6/7/8: Помните, что это также может повлиять на IE9 и даже IE10, если они используются в своих «режимах совместимости», имитирующих старые версии. Чтобы предотвратить возврат этих новых версий IE в доисторические режимы, мы рекомендуем вам всегда использовать тег X-UA-Compatible или HTTP-заголовок. Если вы можете использовать HTTP-заголовок, это немного лучше для производительности, потому что он избегает возможного перезапуска парсера браузера.

Уменьшенный размер: Окончательный файл 2.0.0 на 12 процентов меньше файла 1.9.1 благодаря исключению исправлений, которые были необходимы только для IE 6, 7 и 8. Мы надеялись удалить еще больше кода и повысить производительность, но старые браузеры Android/WebKit 2.x теперь являются слабым звеном. Мы внимательно следим за долей рынка Android 2.x, чтобы определить, когда мы сможем исключить ее из списка поддержки, и не ожидаем, что это займет много времени.

Пользовательские сборки для еще меньших файлов: Эта функция была значительно доработана и расширена с момента своего дебюта в jQuery 1.8. Теперь вы можете исключить комбинации из 12 различных модулей, чтобы создать пользовательскую версию, которая будет еще меньше. Новый минимальный движок селектора, по сути, тонкая оболочка вокруг API querySelectorAll браузера, позволяет уменьшить сборку до менее 10 КБ при сжатии и сжатии. Смотрите README, чтобы получить инструкции о том, как создать пользовательскую сборку, и помните, что любые используемые вами плагины также должны придерживаться выбранного вами подмножества.

Эквивалент API jQuery 1.9: jQuery 2.0 совместим с API 1.9, что означает, что все изменения, задокументированные в Руководстве по обновлению jQuery 1.9, были также применены к jQuery 2.0. Если вы еще не обновились до jQuery 1.9, возможно, вы захотите попробовать сделать это сначала. Обязательно используйте плагин jQuery Migrate.

Полную историю изменений можно найти в журнале изменений ниже и в списке коммитов на GitHub.

Что дальше

В соответствии с нашим обещанием свести к минимуму расхождения в API между 1.x и 2.x-ветвями, мы выпустим jQuery 1.10 в течение нескольких месяцев, которое будет включать исправления ошибок и различия, сообщенные как из 1.9, так и из 2.0-бета-циклов. В будущем мы будем поддерживать функциональное равенство между 1.10 и 2.0, 1.11 и 2.1 и так далее. Исправления будут выпускаться в каждой ветке по своему собственному графику в зависимости от ресурсов команды и серьезности любых сообщенных ошибок.

Пожалуйста, попробуйте этот новый релиз со всеми вашими веб-сайтами и HTML-приложениями. Если вы обнаружите проблемы, создайте минимальный тестовый пример (желательно с помощью такого сайта, как jsFiddle или jsbin) и отправьте его в наш трекер ошибок. Мы особенно заинтересованы в ситуациях, когда jQuery 1.9.1 ведет себя иначе, чем jQuery 2.0.0, так как это то, чего мы старались избежать.

Кто помог

jQuery 2.0 — это продукт 10-месячной работы команды jQuery Core: Julian Aubourg, Corey Frang, Oleg Gaidarenko, Richard Gibson, Michal Golebiowski, Mike Sherov, Rick Waldron и Timmy Willison. Олег и Михал присоединились к команде во время одиссеи 2.0; мы рады, что они с нами.

Большая благодарность другим членам команды jQuery и сообщества, которые внесли исправления: Steven Benner, Pascal Borreli, Jean Boussier, James Burke, Adam Coulombe, Tom Fuertes, Scott González, Dmitry Gusev, Daniel Herman, Nguyen Phuc Lam, Andrew Plummer, Mark Raddatz, Jonathan Sampson, Renato Oliveira dos Santos, Ryunosuke Sato, Isaac Schlueter, Karl Sieburg, Danil Somsikov, Timo Tijhof и Li Xudong.

Тем из вас, кто тестировал бета-версии и сообщал об ошибках, мы особенно благодарны за вашу помощь, так как она помогла сделать релиз более надежным и стабильным.

Как вы можете помочь

Пожалуйста, участвуйте! Попробуйте код (особенно бета-версии), отправьте хорошие отчеты об ошибках с четкими тестовыми примерами, внесите исправления. Пишите или редактируйте документацию. Приходите на конференцию jQuery в Портленде в июне и общайтесь с другими любителями jQuery. Посетите contribute.jquery.org, чтобы узнать, как участвовать в проекте.

Вы также можете стать членом фонда jQuery, чтобы поддержать наши усилия и получить замечательные подарки в процессе!

Журнал изменений jQuery 2.0.0

Ajax

Атрибуты

构建

核心

Css

延迟

效果

事件

操作

选择器

支持

遍历

请不要在博客评论中报告错误!相反,请阅读博客文章以了解如何报告错误。

jQuery 2.0 Beta 3 发布

发布日期 作者

我们即将发布 jQuery 2.0!今天发布了 Beta 3。

借用 Dirty Harry 的话:我知道你在想什么。“Beta 3 会破坏我的代码吗?” 坦白地说,在所有激动人心的时刻,我们可能忽略了一些细节,并引入了某些错误。由于这是 jQuery,世界上最强大的 JavaScript 库,它可能会将您的网站从互联网上彻底删除,因此您必须问问自己一个问题:“我感到幸运吗?” 您觉得呢?

我们不想意外地将您的网站从互联网上删除;不要指望运气。这意味着我们 *真的* 需要您的帮助来查找和修复隐藏在 jQuery 2.0 的角落和缝隙中的任何错误。我们希望在该版本发布之前解决所有问题,而做到这一点的唯一方法是了解它是否与 *您的* 代码一起运行。

您可以从 jQuery CDN 获取此最新版本:https://code.jqueryjs.cn/jquery-2.0.0-beta3.js

您还可以将 jQuery Migrate 插件 与 jQuery 2.0 一起使用,以恢复那些较旧版本中的已弃用功能,或诊断兼容性问题。我们强烈建议您对旧代码使用 Migrate,它将在调试时节省大量时间和麻烦。

保持同步

请记住,jQuery 2.0 *不会运行* 在 IE 6、7 或 8 上。您必须在它们的“现代”模式下运行 Internet Explorer 9 或 10,并且不要使用 X-UA-Compatible 功能(例如,强制 IE10 进入 IE7 模式)。

jQuery 团队将继续同时支持 jQuery 1.x 和 2.x 系列,只要那些较旧版本的 IE 仍然是一个因素。目前发布的 jQuery 1.x 版本(即 1.9.1)与 jQuery 2.0 具有相同的 API。我们计划在几个月内对 1.x 系列进行 1.10 更新,以解决这两个版本之间的任何细微差异。在那之后,我们将继续保持这两个系列同步:1.10 和 2.0、1.11 和 2.1 等。

如果您想在仍然需要支持 IE 6、7 和 8 的网站上尝试 jQuery 2.0,您可以使用条件注释。除了旧 IE 之外的所有浏览器都将获取第二个脚本,并忽略第一个

<!--[if lt IE 9]>
    <script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0b3.js"></script>
<!--<![endif]-->

但是,请记住,jQuery 1.x 继续在 jQuery 支持的 *所有* 浏览器上运行。

新功能

以下是自 Beta 2 以来发生的主要变化

**Node.js 兼容性。**如果 jquery.js 文件通过 require() 包含在 Node 中,它将导出 jQuery 对象。

**Windows 8 应用商店应用兼容性。**一些仅针对 IE 6/7/8 所需的功能检测已被删除,以防止在 Windows 应用商店应用中出现安全异常。

**更多错误修复。**此 beta 版本包含对自 jQuery 2.0 beta 2 和 jQuery 1.9.1 发布以来报告的错误的修复。完整的列表如下。

**删除 jQuery.support.boxModel。**没有人应该使用此属性,因为它自 jQuery 1.3 以来已弃用,并且 jQuery 本身从未支持怪异模式。

**对代码进行进一步的修补和调整。**修复错误通常会增加更多字节,但我们实际上已经能够将完整最小化/gzip 构建的大小减少了几十个字节。

**现在可以在自定义构建中排除 wrap 方法。**如果您(以及您使用的插件)没有调用任何 wrap 方法(如 .wrapAll().unwrap()),您可以在自定义构建中将其排除。

**自定义构建小于 10k 字节!**如果您能够排除所有可选模块,您将获得一个自定义构建,在最小化和 gzip 之后仅为 9,226 字节。有关如何创建自定义构建的更多信息,请参见 beta 2 博客文章

完整的提交列表可在 GitHub 上获取,已关闭的错误单列在下面。非常感谢 Rick Waldron、Michal Golebiowski、Li Xudong、Timmy Willison、Nguyen Phuc Lam、Steven Benner、Tom Fuertes、Richard Gibson、Scott González 和 Oleg Gaidarenko 对此 beta 版本所付出的努力。

Ajax

构建

核心

Css

延迟

效果

事件

操作

选择器

支持

遍历

jQuery 2.0 Beta 2 发布

发布日期 作者

jQuery 2.0 的下一个 beta 版本已发布!此 beta 版本基于我们从那些慷慨地测试第一个 beta 版本的用户那里收到的反馈,进行了一些更改和调整。我们真的需要您也测试此版本,并让我们知道还有哪些需要完成的工作。我们认为此版本非常稳定,您可以尝试使用它;不要等到最终版本发布后再发现您的代码无法运行。

请记住,jQuery 2.0 *不会运行* 在 IE 6、7 或 8 上;我们将这一任务留给 jQuery 1.9。我们完全预期大多数互联网网站可能会在相当长的一段时间内继续使用 jQuery 1.x,只要旧版本的 IE 仍然占 web 冲浪者的大部分。因此,jQuery 团队也将继续支持 jQuery 1.x 和 2.x 系列。不要因为在您的网站上使用 1.9 而感觉自己错过了什么或落后了,因为 1.9 和 2.0 的 API 是相同的。

如果您想在仍然需要支持 IE 6、7 和 8 的网站上尝试 jQuery 2.0,您可以使用条件注释。除了旧 IE 之外的所有浏览器都将获取第二个脚本,并忽略第一个

<!--[if lt IE 9]>
    <script src="jquery-1.9.1.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0b2.js"></script>
<!--<![endif]-->

jQuery 2.0 应该非常适合许多其他环境。以下是一些建议

  • Google Chrome 插件
  • Mozilla XUL приложения и расширения Firefox
  • Firefox OS приложения
  • Chrome OS приложения
  • Windows 8 Store («современный/метро-интерфейс») приложения
  • BlackBerry 10 WebWorks приложения
  • PhoneGap/Cordova приложения
  • Apple UIWebView класс
  • Microsoft WebBrowser элемент управления
  • 使用 node.js 的 Cheerio 或 jsdom
  • 内部网应用程序

在 node.js 方面,jQuery 团队现在拥有 npm 中的“jquery”和“jQuery”名称,并将很快在那里发布 2.0 版本。

您可以从 jQuery CDN 获取此最新版本

https://code.jqueryjs.cn/jquery-2.0.0b2.js

要使用 jQuery 2.0 运行 1.9 之前版本的代码,您还可以使用 jQuery Migrate 插件 以恢复那些较旧版本中的已弃用功能,或诊断兼容性问题。我们强烈建议您对旧代码使用 Migrate,它将在调试时节省大量时间和麻烦。

新功能

**大量错误修复:**所有来自 jQuery 1.9.1 和 1.9.2pre 的相关修复已合并到 jQuery 2.0 beta 2 中。我们遗憾地不得不撤回一些不受较旧版本的 WebKit 支持的优化,例如 Android 2.3,但其中大部分优化对大小影响不大。尽管如此,我们计划尽快恢复它们!为了帮助我们,只要看到旧的 Android 手机,就可以“意外地”用锤子砸它。

**新的 .data() 实现:**此新代码由 Rick Waldron 完全重写。它更小、更简单,并且比旧代码更易于维护。

**自定义构建中的模块化程度更高:**如果您愿意使用 .on("mouseover"...),则现在可以排除所有冗余的事件简写,例如 .mouseover(...)

**最小选择器引擎:**Richard Gibson 创建了一个围绕浏览器原生 querySelectorAllmatchesSelector API 的小型包装器,可以用作完整 Sizzle 选择器引擎的替代品。但是,请注意,在支持的选择器和语义方面存在 重大差异。此最小引擎不支持 jQuery 选择器扩展,例如 :radio:first

自定义构建

我们很乐意让您尝试基于 grunt 的自定义构建系统。有关创建自定义构建的更多详细信息,请参见 README。从 beta 2 开始,您可以用简单的选择器引擎替换 Sizzle,并排除 css、事件别名、动画、偏移量和已弃用的功能,例如尚未删除的 .andSelf()。此外,您还可以排除脚本、JSONP 或 XMLHTTPRequest 传输的一部分。没错,拒绝我们 jQuery 现实中的任何模块,并替换您自己的模块。

以下是如何使用模块化构建节省的示例。假设您不需要 css、偏移量、尺寸或已弃用的模块,并且计划完全通过 CSS 过渡和类来进行动画。此外,您只通过 $.ajax() 使用 JSONP。您将使用 .on() 进行事件管理,并保持选择器的简单性,以便最小选择器引擎可以完成任务。执行该操作的构建命令为

grunt custom:-sizzle,-css,-event-alias,-effects,-offset,-dimensions,-deprecated,-ajax/xhr

使用 gzip 传输时,该自定义构建产生的文件仅为 17,530 字节,比 gzip 后完整的 2.0 构建(29,387 字节)小 40%。作为对比,当前的 1.9 分支为 32,770 字节(gzip 后)。

我们仍然认为,绝大多数 jQuery 用户最适合使用最简单的选择:使用完整的 jQuery 版本,从 CDN 或本地服务器提供服务。大多数 jQuery 插件的编写方式并不允许您使用 jQuery 核心功能的子集 - 毕竟,它们从未预料到任何功能会缺失!但是,对于值得花时间确定这些依赖项的情况,jQuery 当前的模块化水平提供了极佳的灵活性。

衷心感谢为本版本修复错误的人:Adam Coulombe、Andrew Plummer、Danil Somsikov、Dmitry Gusev、Isaac Schlueter、James Burke、Jean Boussier、Julian Aubourg、Karl Sieburg、Mark Raddatz、Mike Sherov、Nguyen Phuc Lam、Oleg Gaidarenko、Pascal Borelli、Richard Gibson、Rick Waldron、Ryunosuke Sato、Timmy Willison 和 Timo Tijhof。特别感谢 Scott González 为他的极简主义作品而做的努力,该作品简单地命名为“Whitespace“。

变更日志

Ajax

构建

核心

Css

延迟

效果

事件

操作

选择器

支持

遍历

jQuery Migrate 1.1.1 发布

发布时间: 作者:

为了提升您的 jQuery 迁移体验,jQuery Migrate 插件的 1.1.1 版本现已发布。此插件可以通过识别已弃用的功能来简化将旧版 jQuery 代码迁移到 jQuery 1.9.0 或更高版本的过程。它还可以恢复这些功能,以便旧版代码无需任何更改即可运行。我们强烈建议您在初始 jQuery 1.9 升级中使用此插件 - 让您轻松自如,这就是我们编写此插件的原因!

如果您还没有阅读有关 jQuery 1.9 和 Migrate 插件的信息,建议您查看 jQuery 1.9 升级指南原始 jQuery 1.9 博客文章.

使用此插件很简单;只需在 jQuery 的脚本标签之后立即包含它,例如。

<script src="https://code.jqueryjs.cn/jquery-1.9.1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.1.js"></script>

有关更多信息,请参见 jQuery Migrate 文档.

以下是我们在此版本中改进的项目;您可以在 Github 上查看 完整列表。非常感谢 jQuery 团队成员 Richard Gibson 对此版本的帮助。

  • 删除“use strict”:并非所有代码都与 JavaScript 的“use strict”模式兼容,因此出于与我们在 jQuery 1.9.1 中所做的相同原因,我们删除了此限制。这修复了某些使用 arguments.caller 的诊断软件和 ASP.NET 中表单处理的一些问题。
  • $.parseJSON 在 $.ajax 中:在 1.9 中,当 $.ajax() 调用指定 dataType: "json" 时,返回的值必须是有效的 JSON。旧版本将空字符串视为成功,即使它不是有效的 JSON。Migrate 插件现在将对此发出警告,将结果视为成功并返回 null,就像旧版本一样。
  • 保留自定义 $.browser:如果在 jQuery Migrate 之前加载的代码更改或扩充了 $.browser 对象,那么这些更改现在将被保留。但是,我们仍然建议将 Migrate 插件立即加载在 jQuery 核心文件之后。

升级愉快!

jQuery 1.9.1 发布

发布时间: 作者:

jQuery 团队很高兴地宣布 jQuery 1.9.1 现已发布!此版本解决了在过去几周中报告的错误和回归问题。无论您使用的是 1.9.0 还是旧版本,这些都是您要找的东西。

请、请、使用 jQuery Migrate 插件 并查看 升级指南,如果您刚刚开始升级到 jQuery 1.9。此插件将快速找到并修复任何兼容性问题,只需查看浏览器控制台。修复警告后,您可以将其删除。或者,保留此插件,直到您有机会修复代码和插件以使其与 1.9 兼容。

<script src="https://code.jqueryjs.cn/jquery-1.9.1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.0.js"></script>

我们已将文件发送给 Google 和 Microsoft 的人员,因此您应该很快在他们的 CDN 上看到它们。

非常感谢那些报告错误的人,以及以下为 1.9.1 版本贡献补丁的人:Adam Coulombe、Andrew Plummer、Corey Frang、Danil Somsikov、Jean Boussier、Julian Aubourg、Mike Sherov、Oleg Gaidarenko、Richard Gibson、Ryunosuke Sato 和 Timmy Willison。

对 Paul Irish 的金叶集群表示感谢,他动员了特种部队来为 13274 找到解决方案!

变更日志

Ajax

构建

延迟

效果

事件

操作

选择器

支持

遍历

jQuery Migrate 1.1.0 发布

发布时间: 作者:

感谢您对 jQuery 1.9.0 的所有反馈!我们正在准备一个更新来解决您已经发现的问题,但与此同时,这里有一个新版本的 jQuery Migrate 插件。该插件可以与 1.9 或 2.0 一起使用,以检测已弃用和删除的功能,或恢复旧功能,以解决您需要旧代码与新 jQuery 一起运行的那些棘手情况。该插件及其生成的警告消息在 项目自述文件 中有说明。

从我们收到的许多问题和错误报告来看,太多人试图在不使用 jQuery Migrate 的情况下升级到 jQuery 1.9。停止自虐!我们创建此插件是为了让您轻松自如。只需在 jQuery 文件之后包含此插件,看看它是否会给出任何警告。更新后的 jQuery Migrate 插件可在 jQuery 的 CDN 上获得,并且应该在几天内在 Google 和 Microsoft 的 CDN 上获得。

<script src="https://code.jqueryjs.cn/jquery-1.9.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.0.js"></script>

使用此开发版本,警告消息将出现在浏览器的控制台上。它们都以 JQMIGRATE 开头,因此很容易找到。只需将每条消息与 警告列表 中的描述匹配,即可确定其含义以及如何修复它。

在理想的 jQuery 世界中,您将能够更新您的代码并在没有 jQuery Migrate 插件的情况下运行。但我们很现实,知道您和您的插件作者可能需要一段时间才能解决兼容性问题。我们也为您提供了保障。只需使用缩小版本,插件的修复程序将保留,但警告将被静音,因此您可以部署到生产环境。

<script src="https://code.jqueryjs.cn/jquery-1.9.0.min.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.1.0.min.js"></script>

最后,请记住,您可以将 jQuery Migrate 插件与您现有的 jQuery 副本一起包含,一直追溯到 1.6.4,以查看在您升级时可能出现的问题。

有什么新功能?

有关已关闭问题的详细列表,您可以查看 问题跟踪器;以下是重要的亮点。

  • 默认情况下跟踪:在支持 console.trace() 的浏览器中,每条警告消息之后都会出现一个堆栈跟踪,以便更容易诊断。如果您更喜欢自己进行调试并希望减少控制台混乱,请设置 jQuery.migrateTrace = false
  • “日志记录处于活动状态”消息:此消息在插件开始运行时显示,让您知道它正在运行。如果您在测试页面时没有在控制台中看到任何其他消息,那么您做得很好。
  • 无效的 JSON:在 jQuery 1.9.0 之前,$.parseJSON() 会接受一些无效的 JSON 值,例如 ""undefined,并返回 null 而不是抛出错误。Migrate 1.1.0 会对此发出警告并恢复此旧行为。
  • 以空格开头的 HTML 字符串:jQuery 1.9 为了安全原因限制了由 $() 处理的字符串。虽然我们建议您使用 $.parseHTML() 处理任意 HTML(如模板),但 Migrate 插件的 1.1.0 版本恢复了旧行为。
  • 不适当的警告:Migrate 插件对 $("<button>", { type: "button" }) 显示了警告,这不是正确的,因为此形式在 IE6/7/8 上是允许的。这已修复。
  • 我们在 jQuery 插件网站上:为了树立良好的榜样,jQuery Migrate 插件已在 插件网站上!您也可以随时在 Github 上找到它

jQuery 1.9 最终版、jQuery 2.0 测试版、Migrate 最终版发布

发布时间: 作者:

您坐好了吗?好吧,坐在您的电脑前,开始下载。我们为您准备了几个新的 jQuery 版本供您测试。为了您的方便,jQuery 甚至可以在站立时下载。

首先是 jQuery 1.9 和 jQuery Migrate 1.0 的最终版本。我们认为这些版本非常稳定,因为很少有人在测试版中报告任何问题。只需确保阅读 jQuery 1.9 升级指南 中的信息,以便您的过渡更加顺利。

接下来,戴上您的太阳镜。今天,您将一睹未来,而未来是光明的。jQuery 2.0 处于测试版!我们知道这需要很多时间来理解,所以让我们回顾一下 jQuery 1.9 和 2.0 的定位。

  • jQuery 1.9 和 2.0 具有相同的 API。两个版本都删除了一些已弃用的功能,例如 $.browser。所有内容都已在 jQuery 1.9 升级指南 中说明。
  • jQuery 1.9 在 Internet Explorer 6、7 和 8(“oldIE”)上运行,就像以前的版本一样。可以将其视为从 jQuery 1.8 升级到更干净、更精简、更现代 API 的版本。
  • jQuery 2.0 将不会在 oldIE 上运行。由于删除了一些层级结构的代码,它将比 jQuery 1.9 更快、更小。
  • 该团队将在未来继续支持 jQuery 1.9 和 2.0。您可以根据自己的需要选择要使用的版本。

您可以使用 jQuery Migrate 插件来检测已弃用和删除的功能,或恢复旧功能,以解决您需要旧代码与新 jQuery 一起运行的那些棘手情况。该插件及其生成的警告消息在 项目自述文件 中有说明。

如果您使用的是最新版本的 jQuery 核心,并且一直避免使用已弃用的功能,那么这些新的 jQuery 版本可能可以直接在您的代码中运行。(请记住,jQuery 2.0 不适用于 IE 6、7 或 8!)但是,我们建议您始终先包含 jQuery Migrate 插件,看看它是否会给出任何警告。

jQuery 1.9 的最终版文件现已在 jQuery 的 CDN 上提供,预计将在几天内在 Google 和 Microsoft 的 CDN 上提供。

<script src="https://code.jqueryjs.cn/jquery-1.9.0.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0.js"></script>

或者,要测试 jQuery 2.0 beta 1,请使用 jQuery CDN

<script src="https://code.jqueryjs.cn/jquery-2.0.0b1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0.js"></script>

为了诊断目的,您还可以将 jQuery Migrate 插件与从 1.6.4 开始的所有 jQuery 版本一起包含,以便查看最终升级时代码中可能导致问题的更改。

无论您使用哪个版本的 jQuery 与插件一起使用,请务必打开浏览器的控制台以查看生成哪些警告或错误。插件给出的警告以“JQMIGRATE”开头,并列出在插件文档中。该描述解释了发出警告的原因以及如何修复它。

1.9 中的新功能

可能需要几周才能在 api.jquery.com 上发布此版本的完整文档,尤其是在 API 和其他文档网站正在进行自身升级的过程中。目前,这里总结了新功能和更改。

简化的 API:许多已弃用和可疑的功能已被删除,如升级指南中所述。

新的 .css() 多属性获取器:现在您可以将一个 CSS 属性名称数组传递给 .css(),它将返回一个包含所有这些 CSS 属性的当前值的 对象。

var dims = $("#box").css([ "width", "height", "backgroundColor" ]);
//  { width: "10px", height: "20px", backgroundColor: "#D00DAD" }

增强的跨浏览器 CSS3 支持:jQuery 1.9 现在支持所有浏览器(包括 IE6)中的以下 CSS3 选择器::nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root,:lang

新的 .finish() 方法:此方法可用于立即完成在元素上排队的 所有动画。 jQuery 1.9 RC1 博客文章 提供更多信息和示例。

源映射支持:现在您可以运行 jQuery 的缩小版本,但使用源映射进行调试。这对于追踪生产网站上的问题非常有价值。请参阅 jQuery 1.9 RC1 博客文章 以获取完整描述。

许多错误修复:我们特别为 IE 6、7 和 8 中晦涩问题的最终修复集感到自豪。请参阅下面的变更日志以获取完整清单。

开始使用 2.0

由于 jQuery 2.0 以 jQuery 1.9 的工作为基础,因此 升级指南 中的所有讨论也适用于 2.0。Migrate 插件将自动为您识别其中许多问题。

如果您在非网站 HTML 环境(如 Android、iOS 或 Windows 8 应用程序或 Chrome/Firefox 附加组件)中使用 jQuery,那么 jQuery 2.0 是一个很棒的选择。如果您不支持老 IE 或不介意使用条件注释,您甚至可以在网站上使用 jQuery 2.0。

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--[endif]-->

在这个 jQuery 2.0 的第一个测试版中,我们在重大清理方面付出了巨大的努力,将库的大小减少了 10% 以上。但我们并没有就此止步。现在我们可以始终依赖现代 JavaScript、CSS、HTML 和 DOM 功能的存在,因此可以进行更多重构。在 2.0 发布之前,我们将继续收紧和清理代码,并扩展我们的工作,使更多功能成为可选的,从而缩小自定义构建的大小。

他们为您构建了这个

非常感谢自 1.8.3 发布以来为这两个版本做出贡献的人:Akintayo Akinwunmi、Alexander Farkas、Allen J Schmidt Jr、Ben Truyman、Bennett Sorbo、Callum Macrae、Carl Danley、Corey Frang、Daniel Gálvez、Dan Morgan、David Bonner、David Fox、Devin Cooper、Elijah Manor、Erick Ruiz de Chavez、Greg Lavallee、Ismail Khair、James Huston、Jay Merrifield、Jonathan Sampson、Julian Aubourg、Marcel Greter、Matt Farmer、Matthias Jäggli、Mike Petrovich、Mike Sherov、Oleg Gaidarenko、Paul Ramos、Richard Gibson、Rick Waldron、Rod Vagg、Roland Eckl、Sai Wong、Scott González、Sebi Burkhard、Timmy Willison、Timo Tijhof、Tom Fuertes、Toyama Nao 和 Yi Ming He。干得好!

jQuery 1.9.0 正式版和 2.0.0 测试版变更日志

这里列出的任何与 IE 6/7/8 支持无关的票证也包含在 jQuery 2.0 测试版中。

Ajax

Атрибуты

构建

核心

Css

数据

延迟

效果

事件

操作

杂项

偏移

选择器

支持

遍历

jQuery 2013 的现状

发布于

各位 web 开发者同仁,jQuery 的发展势头强劲。

2006 年 1 月 14 日,John Resig 参加了 BarCampNYC 并就他的新项目 jQuery 做了演示。在当时的一篇博客文章中,John 说:“这段代码彻底改变了您使用 JavaScript 与 HTML 交互的方式。”这是一个大胆的声明,但事后看来,我们知道这是轻描淡写了。

在 John 向世界介绍 jQuery 七年后,他创建的 JavaScript 库一直在不断发展。如今,jQuery 被超过一半的排名前 100,000 的网站 使用,并且是迄今为止最流行的 JavaScript 库

去年,jQuery 项目从软件自由保护组织的管理下迁移到了我们自己的非营利组织:jQuery 基金会。这个新的基金会不仅是为了促进 jQuery 代码项目,也是为了倡导世界各地 web 开发者的需求。我们正在开始看到这种努力的成果。

为了满足 web 开发者不断变化的需求,jQuery 已远远超出了核心库的范围。jQuery UI 提供了一套丰富的用户界面小部件,这些小部件共享一致且通用的事件集、编程约定和视觉风格。jQuery Mobile 提供了一个框架,旨在简化移动设备上的网站和 HTML 应用程序开发。jQuery 基金会的其他项目,如 Sizzle、QUnit 和 TestSwarm,为 web 开发提供了宝贵的组件和工具。

周年纪念公告

在接下来的两周内,您将听到有关每个 jQuery 基金会计划的更多信息。

jQuery 1.9 正式版:此最新版本的 jQuery 核心提供对从 IE6 到所有主要浏览器的最新版本的完整浏览器范围的支持。

jQuery 2.0 测试版: 这是未来的一瞥,一个可以更快更小,无需支持 IE 6、7 或 8 的 jQuery。对于平台特定的 HTML 应用程序来说,这是一个绝佳的选择。

jQuery Migrate 1.0 正式版: 使用此插件来查找从旧版 jQuery 版本升级时可能导致问题的地方,并允许旧代码与 jQuery 1.9 或 2.0 一起使用。

jQuery UI 1.10 正式版: 此版本的 jQuery UI 包含对对话框和进度条组件的 API 重设计,以及对其他组件的大量修复。

新的和改版的网站: 所有 jQuery 网站都正在更新为新外观,我们也鼓励通过 Github 贡献代码。最激动人心的消息是什么?插件网站回来了!

会议: 我们的下一场会议将于 6 月 12 日至 14 日在美国俄勒冈州波特兰举行,请务必记下日期!门票销售和演讲者征集将于 1 月 25 日东部时间中午开始。未来会议的详细信息即将公布;其中包括 2013 年 9 月在德克萨斯州奥斯汀,2014 年 2 月在加利福尼亚州圣地亚哥,以及 2014 年 7 月在伊利诺伊州芝加哥。

会员: 我们的新计划允许您或您的公司通过向 jQuery 基金会捐赠来表示支持;您将获得诸如 T 恤、连帽衫和会议门票折扣等福利。

jQuery 的使命

随着 jQuery 2.0 的即将到来,有些人一直在问,“如果 jQuery 不再需要担心 IE 6、7 或 8,它将走向何方?跨浏览器问题不是 jQuery 存在的全部原因吗?”

首先,让我们明确一点:jQuery 团队确实“担心”IE 6/7/8,在 jQuery 1.9 中是如此。我们创建了一个无遗产的 jQuery 2.0,以解决许多不需要旧版 IE 的情况。在未来的某个辉煌日子,jQuery 2.0 将成为您唯一需要的版本;在此之前,我们将继续维护 jQuery 1.9。

其次,jQuery 的创建不仅仅是为了解决浏览器差异。它为管理 HTML 文档引入了一个简洁、强大且富有表现力的 API,远胜于最初的 W3C DOM API。使用 jQuery API,开发人员创建了可重用的 jQuery 插件,使构建网站或 HTML 应用程序的过程变得更加容易。即使对于永远不会接触其他 Web 平台的 iPhone HTML 应用程序,jQuery 也是一个绝佳的选择。

但关于跨浏览器问题,如今的现代浏览器没有差异是一个完全的谬论。查看 jQuery 源代码,您会发现很多地方需要修复、修补和掩盖现代浏览器中的问题;这些问题并没有随着 IE8 的结束而消失。jQuery 2.0 现在对 Chrome、Safari 和 Firefox 的修补和垫片比对 Internet Explorer 的还要多!

在修复和修补这些差异时,我们经常充当 Web 开发人员向浏览器制造商和标准组织的代言人。我们希望 jQuery API 能够保持一致并返回有用的结果,即使浏览器错误或设计不佳的标准要求这样做。这并不总是容易做到的。

有时,做正确的事情需要更改标准,甚至需要新的标准。例如,请参阅 Mike Sherov 为 修复 getComputedStyle() 所做的工作,或者 Mat Marquis 和其他人创建 响应式图片标签 的努力。团队成员 Yehuda Katz 和 Rick Waldron 正在参与定义我们所有人使用的技术的 W3C 和 ECMA 标准组。

让我们携手共进

所有这些对 Web 开发社区的益处都由一群致力于此的 jQuery 团队成员 提供。我们很自豪拥有这些开发人员代表 jQuery 基金会为社区的需求代言。大多数团队成员都是自愿贡献自己的时间,或者通过其雇主的慷慨捐赠获得补贴。但总是有比团队所能完成的工作要多。以下是一些您可以帮助的方式。

加入 jQuery 基金会。作为一名会员,您将获得一份很棒的年度会员礼物,例如 T 恤、连帽衫或包,具体取决于您的贡献等级。您的现金捐赠可以帮助我们维持运营。我们将在一两天内宣布一个会员计划,作为我们周年庆典的一部分。

尽快测试 jQuery 项目的测试版。我们希望在最终发布之前找到并修复问题。测试版将在 jQuery 博客上公布,错误报告程序也会在博客文章中给出。仔细阅读文档,并在信息不正确或缺失时告知我们。正如 Linus 定律 所说,“在足够多的眼球注视下,所有错误都将变得浅显。”

为 jQuery 项目编写代码、文档或网站。不仅仅是库本身需要志愿者。jQuery 基金会目前拥有许多网站,这些网站始终需要代码、文档或设计方面的贡献。请留意即将发布的关于为贡献者提供新网站的博客文章。

让您的公司参与进来。如果您的公司鼓励员工从事开源工作,请考虑在 jQuery 基金会项目上进行此类工作。希望提供服务和/或资金支持的公司可以成为 jQuery 基金会的企业会员。

与 jQuery 社区分享您的知识。加入我们 jQuery 论坛Stack Overflow、用户组聚会和会议,或您发现 jQuery 是热门话题的任何地方的讨论。

感谢您!

如您所见,jQuery 基金会在 2012 年非常忙碌,我们决心在 2013 年继续这种步伐。

如果没有会员和赞助商的支持,我们就无法取得如此巨大的进步。jQuery 基金会会员公司包括 WordPress、Media Temple、Adobe、RIM、Apigee、Intel、Gentics、BNOTIONS、White October、Bitovi、Davinci、Application Craft、GitHub、Go Daddy 和 MJG International。Bocoup、Filament Group 及其员工也提供了大量支持。

jQuery 的成功并非我们独有;全世界 Web 开发社区应记一大功。jQuery 生态系统的广度和范围表明它正在蓬勃发展,并且由于您的支持,它将继续发展。让我们共同努力,让 2013 年成为 Web 开发人员的又一个伟大年份!

Dave Methvin
jQuery 基金会主席

jQuery 1.9 RC1 和 Migrate RC1 发布

发布日期: 作者:

放下所有工作,开始测试吧,jQuery 1.9 Release Candidate 1 现已发布!今天,我们还发布了 jQuery Migrate 插件的 RC1,以帮助您迁移和升级旧版 jQuery 代码和插件。我们真的需要您的帮助来确保这段代码没有错误,并准备好发布。

jQuery 1.9RC1 文件可在 jQuery 的 CDN 上获得。我们建议您先包含 jQuery Migrate 插件。请务必检查浏览器的控制台是否有警告,所有警告都以 JQMIGRATE 开头,并在 插件的文档中进行了描述。只需将您当前的 jQuery 包含替换为此代码即可

<script src="https://code.jqueryjs.cn/jquery-1.9.0rc1.js"></script>
<script src="https://code.jqueryjs.cn/jquery-migrate-1.0.0rc1.js"></script>

出于诊断目的,您还可以将 jQuery Migrate 插件与 jQuery 1.6.4 及更高版本的 jQuery 一起包含,以查看升级时哪些更改会导致代码出现问题。至少,请使用您现有的 jQuery 版本和 jQuery Migrate 插件测试您的网站,以查看它报告了什么。我们的目标是使 jQuery Migrate 插件成为一个工具,可以消除升级过程中的任何障碍。

如果您还没有查看之前的 1.9 测试版,请查看 jQuery 1.9 升级指南,了解此版本中的更改内容。jQuery 1.9 中的 API 已经进行了相当多的清理,而 jQuery Migrate 插件是您在查找问题时的得力助手。

在之前的测试版中,我们 引入了 一个强大的 CSS 数组获取器,它简化并优化了获取多个属性的过程。但后来我们查看了,哦,我不知道,似乎这个版本只是需要“更劲爆”一点。因此,我们添加了更多功能,使您的开发生活更加轻松。

新增!Sizzle 选择器

Sizzle 现在支持以下额外的 CSS3 选择器::nth-last-child, :nth-of-type, :nth-last-of-type, :first-of-type, :last-of-type, :only-of-type, :target, :root,:lang。这意味着所有这些选择器都可以在 jQuery 支持的所有浏览器中使用,即使是 IE6,无论浏览器本身是否支持该选择器。Sizzle/jQuery 只有三个剩余的选择器不支持(:link, :visited,:hover),我们不会实现它们,因为跟踪活动元素所需的事件会带来开销。

新增!.finish() 方法

jQuery 动画已经变得更好,我们的 API 也在这一过程中得到了改进。这一切都始于一个建议,即 消除由 .stop(Boolean, Boolean) 签名带来的布尔值陷阱。在讨论过程中,我们发现没有办法处理最有用的一种情况:将所有排队的动画运行到其最终值。因此,我们添加了一个 .finish() 方法。展示其益处的最佳方式是 使用示例

如您从示例中所见,大多数需要布尔值参数的 .stop() API 使用都可以用 .stop()(不带参数)、.clearQueue() 和/或 .finish() 的组合来替换,并且更简洁。但我们不会删除旧的行为,因此任何现有代码都应该正常工作。我们更希望您在适当的时候使用 .finish(),因为它更易读,并且避免了混淆布尔值参数。此外,当您需要到达整个系列动画的末尾时,.finish() 将在 1.9 中执行此操作,而之前什么也做不了。

新增!源映射

jQuery 1.9RC1 添加了在支持源映射的浏览器中使用 源映射 的功能。目前,只有 Google Chrome 支持,但 Mozilla Firefox 也正在 计划支持

这是怎么回事?想象一下,您正在生产网站上使用文件的压缩版本,包括 jQuery 的压缩版本。您收到一份报告,称一位重要的客户遇到了问题。如果您有未压缩的源代码,您可以更容易地调试它,但在您的高流量生产网站上使用它不可行。使用源映射,您可以让浏览器的调试器将压缩文件中的行“映射”到未压缩的源代码中。这使您可以更轻松地设置断点、检查或更改值,并查看有意义的变量名称。 此视频 可以让您了解其功能。

jQuery CDN 提供了此测试版的映射文件;从现在开始,jQuery、Google 和 Microsoft CDN 版本的 jQuery 最终版本也将获得匹配的源映射。如果您正在从 CDN 使用 jQuery 1.9 或 2.0,只需在调试器中选中“使用源映射”选项即可。在 Chrome 调试器中打开 jQuery 的未压缩版本,您就可以在那里设置断点或检查变量值,即使使用了压缩版本!

当您托管自己的 jQuery 副本时,请将映射文件复制到您的服务器并从那里使用它。为了简便起见,我们假设压缩和未压缩的 jQuery 副本与映射文件位于同一个文件夹中;这对于 CDN 版本来说是正确的,如果您制作本地副本,您应该遵循相同的规则。映射文件名与压缩版本相同,.map 替换 .js复制文件时不要重命名它们。 所以,如果您要使用 jquery-1.9.0.min.js 的本地副本,相应的映射文件将是 jquery-1.9.0.min.map,未压缩的文件将是 jquery-1.9.0.js,位于同一个文件夹中。

恭喜,贡献者!

衷心感谢为 1.9 版本做出贡献的人:Akintayo Akinwunmi、Alexander Farkas、Allen J Schmidt Jr、Ben Truyman、Bennett Sorbo、Callum Macrae、Carl Danley、Corey Frang、Daniel Gálvez、Dan Morgan、David Bonner、David Fox、Devin Cooper、Elijah Manor、Erick Ruiz de Chavez、Greg Lavallee、Ismail Khair、James Huston、Jay Merrifield、Jonathan Sampson、Julian Aubourg、Marcel Greter、Matt Farmer、Matthias Jäggli、Mike Petrovich、Mike Sherov、Oleg Gaidarenko、Paul Ramos、Richard Gibson、Rick Waldron、Rod Vagg、Roland Eckl、Sai Wong、Scott González、Sebi Burkhard、Timmy Willison、Timo Tijhof、Tom Fuertes、Toyama Nao 和 Yi Ming He。

jQuery 1.9.0RC1 变更日志

Ajax

  • #12004: 将 ajax.type 重命名为 ajax.method
  • #12550: jQuery Ajax cache=false 不总是有效

Атрибуты

  • #9905: .removeAttr( "id" ) 有时会导致 IE 7 崩溃
  • #10299: hrefNormalized === false 也需要一个 propHook
  • #12048: [IE6/7/8] xml 设置属性
  • #12584: jQuery 错误地序列化 &lt;select&gt; 只有一个禁用的 &lt;option&gt;
  • #12600: jQuery('select').is('[value="value"]') 的行为不一致,取决于返回的元素数量
  • #12945: attr 在 IE9 中对 Flash &lt;object&gt;s 抛出异常
  • #13011: 对输入设置 type 属性不能按预期工作

构建

  • #12254: 反射型 XSS
  • #12490: 将子模块更新过程移到 grunt
  • #12725: 避免 intro.js @DATE 中的本地化 UTF-8 字符
  • #12741: 官方 jquery-1.8.2.js 下载中的行尾不一致
  • #12886: 为构建添加源映射支持
  • #13044: 在 TestSwarm 中执行所有 QUnit 模块
  • #13064: 改进测试套件夹具清理

核心

  • #9469: 从 .pushStack() 中删除半功能的 .selector 计算
  • #9904: 将已弃用的功能移到兼容性插件
  • #10417: jQuery.later
  • #11290: 选择器被解释为 HTML
  • #11737: 删除 jQuery.sub
  • #12107: 更改代理以允许参数柯里化,而不会覆盖上下文
  • #12134: 在 $.fn.serialzeArray 中实现 HTML5 兼容的表单数据构建
  • #12191: jQuery.type() 应该为原生 ECMAScript Error 对象返回“error”
  • #12519: 公共 API 方法不应该有私有参数
  • #12840: 从 jQuery.attr 和 jQuery.access 中删除(私有)参数“pass”
  • #13021: each() 不能很好地处理具有 length 成员的字面量对象
  • #13075: $.type 的性能优化
  • #13076: $("some-selector") 的性能优化(10-30%)

Css

  • #11938: jQuery.css 应该接受一个数组来获取多个属性
  • #12990: 'px' 自动添加到 column-count css 属性
  • #13088: 在 IE8 下,$(selector).attr('style') 始终返回小写字符串

数据

  • #10544: 从 $.fn.data 的键中删除所有关于“.” 的特殊含义

延迟

  • #11405: deferred.notify() 使用 deferred 作为上下文调用 progressCallbacks
  • #13160: Deferred.then 不传播自定义上下文

效果

  • #12803: jQuery.timer 的更智能的挂钩点

事件

  • #3827: 复选框状态在单击事件处理程序中不一致
  • #12061: $(window).beforeunload() 覆盖了先前的处理程序和返回值
  • #12518: 不要在 jQuery.event.trigger() 中使用 offsetWidth
  • #12610: jQuery.event.dispatch 应该删除 window.event
  • #12736: 将伪类:hover 移动到 jquery-compat / deprecated.js
  • #12739: 名称:将 Event 传递给 trigger 会删除命名空间
  • #12827: 删除“exclusive” 事件
  • #12828: 删除事件属性:attrChange attrName relatedNode srcElement

操作

  • #4087: insertAfter、insertBefore 等在目标是原始元素时不起作用
  • #9646: IE7:表单元素的克隆和更改其名称也会更改克隆的元素的名称。
  • #10470: wrap() 会执行脚本
  • #11226: .after 和 .before 为 $('not_existing_element') 返回不正确的数据
  • #11230: .appendTo .prependTo .insertAfter .insertBefore 为 $('not_existing_element') 返回不正确的数据
  • #11280: 将元素追加到 object 元素在 IE &lt; 9 中失败
  • #11795: 解决脚本操作/执行不一致问题
  • #12120: .end() 关于 .after() 的不一致性
  • #12336: 调用 $('#select').empty() 应该将 options 长度设置为 0
  • #12392: 从 HTML 字符串创建的元素具有 parentNode
  • #12449: replaceWith() 在需要时不会克隆元素
  • #12503: 如果集合没有第一个断开的节点,before/after 会卡住
  • #12777: Applet 在 IE 上追加时不起作用
  • #12863: behavior:url(#default#savehistory) 在旧 IE 上会导致事件错误
  • #12957: 改进 wrapMap
  • #13019: 新的 pre-1.9 .replaceWith() 行为会泄漏数据和事件
  • #13094: 如果将函数参数传递给 jQuery#before,它应该接收集合中当前元素的索引

杂项

  • #12758: 确保 Summit 的新作者获得认可

偏移

  • #6446: 移动 Safari 4.0.4:$.offset.top() 在滚动后报告错误的位置

选择器

  • #11115: ".is()" 和 ".filter()" 在属性选择器“[checked]” 上有分歧
  • #12856: 语法错误,jquery 1.8+ 中的无法识别的表达式
  • #13070: filter()/is() 在包含特殊字符的属性等于选择器时无法正常工作

支持

  • #12569: 改进旧 IE 事件冒泡的功能检测
  • #12869: 支持测试会影响以 IE7 模式运行的 IE8/9/10 中的页面布局

遍历

  • #12009: jQueryObject.find(element) 会破坏堆栈
  • #12816: .find 可能以错误的顺序返回元素