jQuery开发者峰会 2012

发布于 作者

在基金会成立后的八个月里,我们一直在努力扩大我们活动的范围和广度,今天我们很高兴地宣布首届jQuery开发者峰会,将于2012年10月15日和16日Aol Campus in Dulles, VA举行。

开发者峰会将与我们传统的活动有所不同。我们不会花两天的时间进行演讲和幻灯片展示,而是会花一个上午的时间向您介绍jQuery的工作原理,从jQuery Core的内部结构,到我们如何构建和测试库,再到我们如何管理我们的网站。然后我们将分成小组,花剩下的时间一起协作,共同开发我们每天都在使用的项目和工具。

由于这是一个更私密的活动(而且是我们第一次尝试),我们只能容纳大约150人。为了让房间里有合适的技能和经验组合,这不会是一个先到先得的过程。相反,我们将滚动接收和审查此申请,从8月31日到9月7日。换句话说,我们有很多不同的基础想要覆盖,所以我们不能让100个人仅仅想修复Quirks模式中的边缘情况错误!

这里的重点是协作、作为开源开发者成长以及享受乐趣!如果这听起来符合您的口味,立即了解更多关于开发者峰会的信息,并考虑申请!当然,如果您有任何问题,请随时提问

jQuery 1.8.1 发布

发布于 作者

过去几周既紧张又富有成效,jQuery 核心团队很高兴地宣布 jQuery 1.8.1 版本已发布!此版本修复了社区在 1.8.0 版本最终发布后报告的问题。以下是文件,供您使用

Google 和 Microsoft CDN 也将很快提供副本。

下面列出了修复的最终错误列表。请记住,大家,我们也喜欢在 Beta 版和候选版本中收到错误报告!您不必等到最终发布才能使用您的代码进行测试。我们越早修复这些错误,对团队和 jQuery 社区来说就越顺利。

为了与 jQuery 核心 1.8.1 兼容,请使用 jQuery UI 1.8.23 和 jQuery Mobile 1.1.1 或更高版本

不要使用 怪异模式 jQuery 从未支持怪异模式,并且我们不会在怪异模式下进行任何测试。这会影响诸如 $("window").height() 之类的数值,并且 jQuery 1.8 怪异模式的结果为了支持一些现代浏览器功能而发生了变化。我们看到的大多数问题案例都来自希望处于标准模式但拥有无效文档类型或 <html> 标签前存在多余标记的开发者。如有疑问,请使用简单且简短的 <!doctype html>

Sizzle 的自定义伪选择器(接受参数)已更改,但 jQuery 1.8.1 提供了一个兼容性 shim,用于较旧的代码。Sizzle 和 jQuery 之前都没有记录这些伪选择器的工作方式;现在 官方文档 已经发布。请查看那里,了解编写与所有版本的 jQuery 兼容的自定义伪选择器的最佳实践示例。

感谢团队和社区成员为此次发布贡献了补丁:Timmy Willison、Mike Sherov、Elijah Manor、Mike Pennisi、Richard Gibson、Corey Frang、Mathias Bynens、Oleg Gaidarenko、Nikita Govorov、Julian Aubourg 和 Rick Waldron。

我们也非常感谢那些花时间创建 良好错误报告 的大家,用于 jQuery 1.8.1。万一我们不知何故遗漏了此版本中的任何错误,请告知我们。首先检查 错误跟踪器,看看是否已报告该错误。如果没有,请使用 jsfiddle.netjsbin.com 创建一个使用最少代码来演示问题的测试用例。

jQuery 1.8.1 变更日志

Ajax

  • #12233:jQuery.post() 引发“RangeError: Maximum call stack size exceeded”
  • #12234:.load() 方法,当 params 为 null 时,ajax 类型将为“POST”,而不是“GET”

核心

  • #12282:1.8.0 回归 – 在 IE 9/10 上文档就绪过早触发
  • #12329:event.js 仍然引用 bindReady
  • #12350:jQuery.trim 应删除字节顺序标记 (BOM) 字符
  • #12370:jquery android 2.1-update1 问题

Css

  • #12235:getComputedStyle 未使用命名空间
  • #12313:.height() 和 .width() 不再回退到 CSS,如果 offsetWidth 未定义。
  • #12324:cssNormalTransform 可能会产生错误的值

数据

  • #10863:.data 方法不会在 JSON 字符串包含换行符时返回对象。

Dimensions

  • #12283:jQuery 1.8 outerHeight 返回 undefined 而不是 null

Effects

  • #12273:动画持续时间为 0 时失败

事件

  • #12149:'change' 事件处理程序在 IE7/8 中泄漏
  • #12383:jQuery.on() 选择器应仅应用于元素的后代

操作

  • #12346:fn.append 无法正常工作
  • #12384:.after 在 IE9 中表格行失败

队列

  • #12278:.promise(type) 不适用于非默认队列

选择器

  • #12205:各种伪选择器问题
  • #12237:具有子选择器和多个 :not 与 :visible 无法正常工作
  • #12241:传递负索引给 :eq 会引发语法错误。
  • #12285:带有 :not(:first) 的选择器自 1.8 以来无法正常工作
  • #12292:无效的选择器可能导致后续有效的选择器无法正常工作
  • #12303:属性选择器如果属性值包含 :first :last 则会失败
  • #12311:jQuery 1.8 和 .is(":visible")
  • #12314:$.contains 在 IE9 中发生致命错误,当第二个参数为 null 时
  • #12359:1.8.0 创建无效的标签/属性,加载库时
  • #12369:ajax,使用 find 方法读取 xml
  • #12403:选择器 "> li > :first-child,> :not(li):even" 在旧版 IE 中失败
  • #12409:与自定义伪选择器相关的向后兼容性问题
  • #12412:Sizzle 回归 ":not([data-role='list-divider']):not(:hidden)"
  • #12419:复合选择器如果 id 属性包含点号则会失败。

支持

  • #12333:$.browser.webkit (未定义) -> $.browser.chrome

jQuery Color 2.1.0

发布于 作者

上周初我发布了 jQuery Color 2.0.0,等待一个提供 API 以使用颜色的 jQuery Color 插件的时间已经结束了。

jQuery Color 2.0.0 有什么新功能?

jQuery Color 一直忠实地支持在两个十六进制值之间对颜色进行动画处理。许多开发人员要求访问我们声明的内部函数以使其成为可能。版本 2 现在包含一个 API 来创建和修改颜色,以及对 RGBA 和 HSLA 颜色和动画的支持。

您可以在 仓库 readme 上阅读有关 API 和功能的更多信息。

应在 问题跟踪器 上报告任何问题。

为什么已经有 jQuery Color 2.1.0?

每个开发人员都梦想着在第一次发布时完美地发布一个主要版本,但很少实现。在过去的两个星期里,2.0.0 中留下的一些小错误已被修复,并且添加了一个新函数到 API 中,该函数应该有助于支持 SVG 样式属性。

下载 jQuery Color 2.1.0

您可以从 Media Temple 提供的 CDN 下载发布版本。

为了节省文件大小,jQuery Color 插件默认仅支持 基本颜色关键词,扩展的颜色关键词包含在一个单独的文件中。如果您想同时包含两者,也可以下载捆绑版本。

鸣谢

感谢 Dan Heberden、Scott González、Jörn Zaefferer、Mike Sherov、Brendan Byrd 和 Christoffer Sawicki 帮助发布此版本。

jQuery 1.8 box-sizing: width(), css(“width”) 和 outerWidth()

发布于 作者

jQuery 1.8 的一个重要新特性是内置了对 box-sizing: border-box 的理解,所有现代浏览器都支持它。(抱歉,IE6 和 IE7,请后退一步;我说的是现代浏览器。)

如果您向人们展示带有边框的屏幕上的元素并询问该元素的宽度,他们自然会从边框的外部边缘测量。但这就是 CSS 在默认 content-box 模式下的工作方式。通常,CSS 宽度和高度仅包括边框和填充内部的“内容”。因此,设计师(和 jQuery)通常需要将宽度添加到右/左填充和边框才能获得元素的“自然”宽度。

使用 box-sizing: border-box 更改了 CSS 对元素宽度的概念,使其包含填充和边框尺寸,就像您自然会测量的那样。jQuery 1.8 之前的版本 尚未完全掌握 border-box 的方法,但我们已经修复了此错误。

有一件事没有改变,那就是 .width() 方法的返回值。正如它一直以来记录的那样,它获取和/或设置元素的“内容”宽度,无论元素使用的 CSS box-sizing 如何。但是,jQuery 1.8 现在需要在您使用 .width() 时检查 box-sizing 属性,以便确定是否需要减去填充和边框宽度。这可能代价高昂——在 Chrome 上高达 100 倍!幸运的是,大多数代码不会使用 .width() 足够多次,以至于这会变得显而易见,但一次获取多个元素的宽度代码可能会受到影响。

如果它影响您的代码,有一个非常简单的避免此性能惩罚的方法。只需使用 .css("width") 代替 .width(),以明确您想要获取或设置 CSS 指定的元素的实际宽度。这不需要 jQuery 查看 box-sizing。但是,请记住,.css("width") 作为 getter 返回一个带有“px”结尾的字符串,因此您需要使用类似 parseFloat( $(element).css("width") ) 的方法,在结果必须是数字的情况下使用。

当然,这里提到的所有内容都适用于 .width(),也适用于 .height();使用 .css("height") 以避免性能惩罚。

使用 .outerWidth() 作为 setter

在其他与尺寸相关的新闻中,jQuery 的 .outerWidth().outerHeight() 方法已在 1.8 中更新,以便 它们可以用作 setter。(jQuery UI 自 UI 版本 1.8.4 起就支持它们作为 setter,但现在它内置于核心中。)要将 .outerWidth() 用作 setter,请传递一个表示外部宽度的数字(CSS“内容”宽度,加上填充和边框宽度)。是的,这很好地处理了 box-sizing: border-box 情况;基本上与设置 .css("width") 相同。

我们收到了一些报告,来自那些在使用 jQuery 1.8 时遇到 .outerWidth() 问题的用户,因为返回的是 jQuery 对象而不是数字宽度。如果调用 $(element).outerWidth(0),则会发生这种情况。在 jQuery 1.8 之前,这是 API 的无效用法,因为它记录为接受单个布尔值参数。但是,它将无效参数视为布尔值并返回宽度。在 1.8 中,jQuery 使用值 0 来设置宽度,就像大多数 setter 一样,它返回 jQuery 对象。

我们正在更新所有 1.8 更改的 API 文档,但现在您可以参考 jQuery 1.8 发布公告 中的变更日志,以了解发生了什么变化。

jQuery 1.8 发布

发布于 作者

八月变得更加火热,因为 jQuery 1.8 最终代码已经发布!您可以从 jQuery 的 CDN 获取代码

像往常一样,Google 和 Microsoft 的 CDN 也会很快提供该文件。请不要问我们什么时候会有,我们不知道,而且我们无法控制这些 CDN!如果您只是迫不及待地想开始使用,请直接使用来自 jQuery CDN 的副本。它们是相同的代码。

我们预计不会收到关于此版本的任何错误报告,因为已经有几个 beta 版本和一个发布候选版本,每个人都有足够的机会彻底测试。哈哈,这个笑话永远不会过时。我们知道,太多的人会等到最终版本发布后才开始用他们的代码进行测试。所以现在真的没有理由等待了,您可以发现是否有任何您本可以提前报告的错误。

如果您发现错误,请在 jsFiddlejsbin 上创建一个测试用例,并在我们的 错误跟踪器 上提交错误。如果您不确定是否发现错误,请在我们的 论坛 上提问。jQuery core 1.8.0 与最新版本的 jQuery UI (1.8.22) 和 jQuery Mobile (1.1.1) 兼容。如果您在报告涉及它们的页面的错误时,请确保更新它们。

jQuery 1.8 快速游览

让我们回顾一下此版本中的主要变化

Sizzle 重新架构: 感谢 Timmy Willison 的重写(实际上是两次重写),jQuery 的选择器引擎比以往任何时候都更快。当然,现在大多数浏览器都有 querySelectorAll,但几乎每个实现都存在这样或那样的问题,从而造成了一条充满跨浏览器陷阱的道路。Sizzle 为您平滑这条道路。此外,您可能需要那些有用的 jQuery 选择器扩展,例如带有复杂选择器的 :has():contains()。哦对了,还有对 IE6/7 的支持。

动画重新构想: 随着时间的推移,jQuery 中的动画代码变得有点混乱。Corey Frang 深入研究了这片沼泽,并设法消除了大部分鳄鱼,嗯,错误。大部分更改都在底层,因此现有的动画应该可以正常工作(并且效果更好)。但也有一些很棒的补充,可以使动画更通用和可扩展。一个值得注意且非常酷的功能是在 Promise 中使用进度回调。我们仍在努力编写详细的文档,但我们有一个 草稿。此外,这里有一个新代码实际运行的例子:http://jsbin.com/odocid/1/edit

自动 CSS 前缀: 当您在 .css().animate() 中使用 CSS 属性时,我们将为该浏览器使用正确的加前缀的属性(如果适用)。例如,采用 .css("user-select", "none");在 Chrome/Safari 中,我们将该值设置为 "-webkit-user-select",Firefox 将使用 "-moz-user-select",而 IE10 将使用 "-ms-user-select"

更灵活的 $(html, props): 在 jQuery 1.8 中,您可以在传递给 $(html, props) 的对象中使用任何 jQuery 方法或插件。以前,您只能使用一个简短的方法名称列表,并且没有记录方法来添加列表。现在不需要列表了!但是,请注意,如果稍后添加具有与 HTML 属性相同的名称的插件,这可能会导致代码的行为发生变化。

关闭了 160 多个错误: 特别是 Sizzle 和动画的重写,为修复几个长期存在的错误提供了动力——其中一些错误已经存在两年或三年。Mike Sherov 处理了大部分开放的 CSS 和定位问题,使我们在此方面的错误接近于零。我们也没有放弃,并且仍在努力消除 IE 6/7/8 和现代浏览器之间的烦人差异,这样您就不必处理它们了。

更小的代码大小: 尽管进行了所有代码清理、新功能和错误修复,但 jQuery 1.8 的 gzip 文件大小实际上比 jQuery 1.7.2 小了几百个字节。减少代码大小不是此版本的主要目标,但我们认为保持代码增长很重要,并且我们确实实现了这一点。非常感谢 Richard Gibson 领导整个项目的代码压缩工作。

模块化: 如果您非常了解项目的 jQuery 依赖关系,您可以使用新的基于 grunt 的构建系统来删除您知道不需要的 jQuery 的部分。我们在这里为 1.8 所做的事情只是一个开始,您将在后续版本中看到更多的灵活性。

完整的变更日志在下面,以防您想知道您最喜欢的错误是否已被修复。

已删除的内容

简而言之,“非常少”。我们希望为 1.9 中将删除的弃用功能提供充足的通知期,以便人们有时间调整他们的代码。1.8 中删除的几个内容是未记录的内部结构,一些人巧妙地进行了逆向工程,但使用未记录的功能始终存在风险。以下是已删除的项目

$(element).data(“events”):在 1.6 版本中,jQuery 将其内部数据与用户数据分离,以防止名称冲突。但是,有些人正在使用内部未记录的“events”数据结构,因此我们使其可以通过 .data() 检索。现在在 1.8 中已删除,但您仍然可以通过 $._data(element, "events") 获取事件数据进行调试。请注意,这不是受支持的公共接口;实际的数据结构可能会从版本到版本发生不兼容的变化。

Deferred.isResolved() 和 Deferred.isRejected():调用 N-1 布尔方法来获取 N 状态变量的状态有点荒谬,因此我们在 jQuery 1.7 中添加了 Deferred.state(),以便您可以用一个调用来告诉您状态。因此,这两个旧方法不再需要了。对于调试场景,您通常想知道 Deferred 的状态作为字符串,这要方便得多。

$(element).closest(Array) 返回 Array:这是 .closest() 方法的一个奇怪的签名,旨在用于旧的 .live(),但据我们所知,没有其他代码使用它。.closest() 的正常用法不受此签名删除的影响。

$.curCSS:此方法只是从 jQuery 1.3 开始的 jQuery.css() 的别名。虽然它从未成为记录的 API 的一部分,但一些外部代码已知会使用它,也许认为它“更有效”。现在它“更消失了”。

$.attrFn:另一个未记录的项目,用于定义哪些方法可以与 $(html, props) 签名一起使用。虽然它在 jQuery 1.8 中没有功能,但我们留下了一个$.attrFn 在 jQuery 中,以防止使用它的代码抛出错误。警告:它将在 jQuery 1.9 中完全删除,因此请更新您的代码!

功劳归于

如果没有 jQuery Core 团队的辛勤工作,这次发布将无法实现:Julian Aubourg (jaubourg)、Corey Frang (gnarf)、Richard Gibson (gibson042)、Mike Sherov (mikesherov)、Rick Waldron (rwaldron) 和 Timmy Willison (timmywil)。

特别感谢这些 jQuery 团队和社区成员,他们在 jQuery 1.8 开发周期内通过补丁贡献支持了 Core 团队:Andy Monat、Robert Katic、Joaoh Bruni、Sindre Sorhus、Oleg Gaidarenko、Yehuda Katz、Timo Tijhof、Dominik D. Geyer、Scott González、Jörn Zaefferer、Matt Farmer、Trey Hunner、Jason Moon、Ben Alman、Jeffery To、Kris Borchers、Daniel Herman、Vladimir Zhuravlev、Jacob Thornton、Chad Killingsworth、Nowres Rafid、David Benjamin、Uri Gilad、Chris Faulkner、Elijah Manor 和 Daniel Chatfield。

我们也非常感谢那些花时间报告错误的人;除非我们知道错误存在,否则我们无法修复它。如果您正在寻找一种为 jQuery 贡献的简单方法,请熟悉 错误跟踪器 并帮助我们创建清晰地演示错误的简化测试用例。一旦我们能够重现问题,解决方案通常就不远了。这些测试用例将成为单元测试的基础,以防止在后续版本中更改代码时发生问题。

jQuery 1.8 变更日志

Ajax

  • #8205: JSONP 随机结果导致 IE8 中出现内存泄漏
  • #8653: jQuery.param 在查询字符串中输出“null”和“undefined”
  • #9399:弃用 jqXHR.success 和 jqXHR.error
  • #10285: evalScript rcleanScript 替换在 IE8 中失败
  • #10524: jQuery.fn.load 不会将 data 参数与 jQuery.ajaxSetup 合并
  • #10944: $.ajax 并不总是返回实现 Promise 接口的对象
  • #11013:弃用在同步 $.ajax 中使用 Deferred/Promise
  • #11402: evalScript 函数在 IE 中出现错误 80020101
  • #11743: jQuery 在 $.appendTo() 中对 script 标签 ajax 请求期间的错误保持沉默
  • #11778: 缓存的 XHR 请求仍应异步解析
  • #12122:jQuery.ajax() 异步弃用与 $.Deferred 的使用

属性

  • #11153: jQuery 1.7 在 IE 8 中剥离回车符
  • #11212: Sizzle.getText 在 IE 上将不可断行空格转换为空格
  • #11547:XML DOM .removeAttr() 无法移除大小写属性
  • #11962:标准化空集 getter 返回值。
  • #12127:克隆在 IE10 中无法正确复制选中状态

构建

  • #11767: 支持不带效果的自定义构建
  • #11789: 更新 README 以描述 grunt 构建系统
  • #11856: 模块化尺寸
  • #11857: 模块化 css
  • #11865: 模块化偏移
  • #11965:创建 deprecated.js 以包含尽可能多的已弃用内容
  • #12059:`grunt custom` 应该缩小 – 也应该将排除的模块添加到标头
  • #12158:jQuery 1.8rc1 与 YUICompressor 1.4.7 不兼容

核心

  • #10657:弃用 jQuery#size() 以支持 jQuery#length
  • #11290: 选择器被解释为 HTML
  • #11470: 添加内置的 readyP promise
  • #12018:$(document).ready() 在 IE8 中触发过早
  • #12026:允许 $(html, props) 使用任何 jQuery.fn 方法

Css

  • #10373: `document.defaultView` => `window`
  • #10394:jQuery.cssHooks.opacity 在非 IE 浏览器上抛出异常
  • #10413: width、innerWidth、innerHeight、outerWidth、outerHeight 对于 box-sizing: border-box 的隐藏父元素的子元素不准确
  • #10679: CSS3 供应商前缀支持
  • #11004: getWH 在 box-sizing 为 border-box 时错误地删除了填充和边框宽度
  • #11787: 删除 jQuery.curCSS
  • #12088:WebKit 现在返回更多 getComputedStyle 属性的百分比
  • #12148:切换时 hide 事件无法触发

数据

  • #7579:jQuery.data() 截断从 data-xxx 属性获取的数字
  • #10589: 删除 $.fn.data("events")
  • #11435:过时的测试代码,移除 .data 的返回值中的 toJSON

Deferred

  • #11010: 使 Deferred.then == Deferred.pipe 类似于 Promise/A
  • #11011: 允许 $.Callbacks 标志的传统选项对象
  • #11736: 删除 Deferred .isResolved() 和 .isRejected()
  • #11749: 在 $.when() 中传递多个 Deferred 对象时保留上下文对象

Dimensions

  • #6724: 在移动 Safari (iPhone) 中 $(window).height() 错误
  • #10877: 使 outerWidth/Height 成为 setter
  • #11293: 读取空 TD 的宽度或 outerWidth 会改变列的宽度值
  • #11604: 将 $(elem).width(-val) 从无操作更改为 $(elem).width(0)
  • #11724: Firefox 12 中 $(document).height() 已更改

Effects

  • #7109: animate width 在 WebKit 中以无效宽度开始
  • #7157: 动画回调显示元素仍然为“:animated”
  • #8387: 使用 WebKit 中的内联和内联块元素时,hide/show 问题导致闪烁
  • #8627: .animate() 在 IE 中对 letterSpacing 失败(1.5.1 中的回归)
  • #8892: 在 clone() 之后调用 appendTo() 和类似方法返回错误的 jQuery 集合
  • #9217:在动画完成前移除元素时,IE8 中出现 javascript 错误
  • #9505: 在 WebKit 中混合百分比和像素时出现 animate() 问题
  • #11635: 动画期间显式 overflow:auto 被内联 overflow:hidden 覆盖
  • #11755: animate 及其别名不应使用 :hidden 选择器
  • #11797:新的动画相关事件
  • #11854: 百分比动画跳转到结束
  • #11971:在 IE8 中动画 background-position 失败
  • #11999:在 Chrome 中对固定 div 进行增量动画时,执行减法而不是加法。
  • #12117:动画到 0 高度或宽度时,overflow hidden 未正确设置
  • #12138:fadeOut 在 Chrome 中对基本的 SVG 元素不起作用
  • #12150:当行显示和隐藏时,border-spacing 属性会累积

事件

  • #8545: IE 中存在泄漏事件
  • #10067: 在 document.readyState === 'interactive' 时触发 $.ready
  • #10895:bindReady 中的 doScrollCheck ie hack 毫无理由地降低了 ie7 的性能
  • #11101: 弃用 trigger 方法中的“exclusive”事件选项
  • #11315:delegate() 和 :first 在具有等效类别的嵌套元素中存在问题
  • #11328: 在 Windows 上 Ctrl 键不会将 event.metaKey 设置为 true
  • #11382:鼠标进入事件在禁用的输入元素上无法触发
  • #11500: 错误:手动触发 IE7 和 IE8 中的“change”事件处理程序未执行
  • #11621: 在 document 上触发事件不会冒泡到 window
  • #11718: 弃用 .data() 事件
  • #11719: 弃用 .bind("ready") 事件
  • #11731: 弃用“hover”伪事件
  • #11733: 弃用 .load()、.unload() 和 .error() 方法
  • #11764:允许在禁用的元素上委托非原生事件
  • #11786: 弃用 .toggle( handler, handler, … ) 签名
  • #12203:.undelegate() 不带参数会从父元素取消绑定所有处理程序

操作

  • #8894: 在 clone() 之后调用 appendTo() 和类似方法返回错误的 jQuery 集合
  • #10324: Clone 不会复制 object 元素的 innerHTML
  • #11231:Append、Prepend、After、Before 方法应接受数组作为第一个参数
  • #11325:改进 domManip/buildFragment/clean
  • #11338:.replaceWith() 和断开连接的节点行为不一致。
  • #11528:ie8 .html() 序列化错误也影响 html5 标签
  • #11566:node.append 等方法在节点是 DocumentFragment 时不起作用
  • #11617:定义一个 $.parseHTML 方法用于创建 HTML 片段
  • #11809:.text(val) setter 中存在内存泄漏?
  • #11898:prevAll() 带有复杂的 :not() 选择器返回结果顺序错误
  • #12132:IE10 错误:克隆没有父节点的 object 元素

Offset

  • #10996:简化 offset()
  • #11823:移除 webkitConvertPointFromNodeToPage

选择器

  • #3778:选择器匹配问题
  • #5568:在 FF/IE 上,选择器对带有注释标签的行为不同
  • #7596:xpath 选择器属性名称带有方括号 [] 失败
  • #8473:在 IE9rc 中,*[tabIndex] 会选择所有没有 tabindex 属性的元素
  • #8906:.(prevAll('span:has(input,select,textarea)')
  • #9400:弃用 :text、:radio、:checkbox 等选择器扩展
  • #9810:重写位置选择器逻辑
  • #10003:#6963 引入的回归/BC 破坏
  • #10074:链式调用两个 [] 选择器并使用 :first 不起作用
  • #10499::nth-child() 在 :has() 内部被视为在外部
  • #10570:当页面上有跨域 iframe 时,:text 选择器在 IE7 中会抛出错误
  • #10697:Sizzle 重构
  • #10799:带有 [name="name"] 选择器的结果不一致(也破坏 .has)
  • #10809::focus 伪类解析器中不正确的测试使用了“.activeElement”
  • #11109:Sizzle: Expr.relative 过早截断
  • #11120:IE7 中的选项卡中的某些选择器中断
  • #11814:Sizzle 的基于元素的 QSA 策略(即附加一个临时 ID)没有考虑到逗号和其他选择器分隔符
  • #11826:探索 Sizzle 中 matchesSelector 的解析缓存系统
  • #11902::not + :contains 选择器
  • #11918:使用“:”的标签名时 :eq 选择器问题
  • #11959:添加对 :active 选择器的支持
  • #11961:使用 jQuery#is 时“超出最大调用堆栈大小”
  • #11966:后代选择器
  • #11969:收集兄弟姐妹时缺少空检查
  • #12054:未捕获的 TypeError:对象 #<HTMLDocument> 没有方法 'getAttribute'
  • #12057:Sizzle 回归
  • #12082:.find() POS 选择器在 1.8b2 中不再工作
  • #12153:选择器中发生错误

支持

  • #9385:弃用 jQuery.browser
  • #11163:jQuery.support.checkClone 始终为 true
  • #11249:Chrome 18 加载 jQuery 1.7.1 时出现 CSP 错误
  • #11439:jQuery.support.parentNode 已使用,但不再定义。
  • #11721:弃用并移除 jQuery.support.boxModel 的内部使用
  • #11757:IE 8 在使用 jQuery 1.7.2 的 iframe 中出现内存累积
  • #11766:将 jQuery.support 移动到“不稳定”状态

Traversing

  • #9800:新方法:.addBack(取代 .andSelf)
  • #11539:所有版本的 jQuery 不支持在 $([text Element].parentNode).has?(other_element) 上使用 .has()
  • #11543:.has 在分离的元素上不起作用
  • #11706:`.has()` 在文档片段上失败
  • #11738:移除 .closest(Array) 返回 Array