jQuery 开发者峰会 2012

发布于 作者

在过去八个月中,基金会在努力扩大我们活动的范围和广度,我们很高兴今天宣布首届jQuery 开发者峰会,将于2012 年 10 月 15 日和 16 日弗吉尼亚州杜勒斯的 AOL 校园举行。

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

由于这是一个更私密的活动(也是我们第一次尝试),我们只能容纳大约150 人。为了在房间里获得适当的技能和经验组合,这将不是简单的先到先得的过程。相反,我们将接受并审查提交到此申请的申请,从 8 月 31 日开始,持续到 9 月 7 日。换句话说,我们有很多不同的方面需要涵盖,所以我们不能让 100 个人来参加,他们只是想修复怪癖模式下的边缘情况错误!

这里的重点是协作、作为开源开发者成长和享受乐趣!如果您觉得这正是您想要的东西,立即了解更多有关开发者峰会的信息,并考虑申请!当然,如果您有任何疑问,请不要犹豫联系我们

jQuery 1.8.1 发布

发布于 作者

经过几周的紧张而高效的工作,jQuery 核心团队很高兴宣布 jQuery 1.8.1 发布!此版本修复了社区在 1.8.0 正式发布后报告的问题。以下是您可以使用的文件

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

修复的最后几组错误列在下面。别忘了,我们喜欢在测试版和候选版本中听到有关错误的信息!您不必等到最终版本才能用您的代码进行测试。我们越早修复这些错误,对于团队和 jQuery 社区来说,事情就会进行得越顺利。

使用 jQuery UI 1.8.23 和 jQuery Mobile 1.1.1 或更高版本,以获得与 jQuery 核心 1.8.1 的最佳兼容性。

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

Sizzle 的接受参数的自定义伪选择器已更改,但 jQuery 1.8.1 为旧代码提供了兼容性垫片。Sizzle 和 jQuery 都没有记录它们以前是如何工作的;现在 Sizzle 有了官方文档。查看那里以获取与所有版本的 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() 不再在 offsetWidth 未定义时回退到 CSS。
  • #12324:cssNormalTransform 可能生成错误的值

数据

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

尺寸

  • #12283:jQuery 1.8 outerHeight 返回未定义而不是 null

效果

  • #12273:animate 在持续时间为 0 时失败

事件

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

操作

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

队列

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

选择器

  • #12205:各种伪选择器问题
  • #12237:具有子选择器和多个 :not 与 :visible 无法再正常工作
  • #12241:为 :eq 传递负索引会抛出语法错误。
  • #12285:自 1.8 以来,使用 :not(:first) 的选择器无法正常工作
  • #12292:无效的选择器会导致后续有效的选择器无法正常工作
  • #12303:如果属性值包含 :first :last,属性选择器将失败
  • #12311:jQuery 1.8 和 .is(":visible")
  • #12314:$.contains 在第二个参数为 null 时在 IE9 中出现致命错误
  • #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 颜色以及动画的支持。

您可以在存储库自述文件上详细了解 API 和功能。

任何问题都应该在问题追踪器上报告。

为什么已经有了 jQuery Color 2.1.0?

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

下载 jQuery Color 2.1.0

您可以从我们的 CDN 下载版本,该 CDN 由Media Temple提供。

为了节省文件大小,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 对元素宽度的概念,使其包括内边距和边框尺寸,就像你自然测量它一样。1.8 之前的 jQuery 版本 还没有完全适应 border-box 的方式,但我们已经修复了这个错误。

有一件事没有改变,那就是 .width() 方法的返回值。正如文档中一直所述,它获取或设置元素的“内容”宽度,无论元素使用的 CSS box-sizing 是什么。但是,jQuery 1.8 现在需要在每次使用 .width() 时检查 box-sizing 属性,以便它可以决定是否需要减去内边距和边框宽度。这可能很昂贵 - 在 Chrome 上最多贵 100 倍!幸运的是,大多数代码不会经常使用 .width(),因此这不会引起注意,但获取数十个元素宽度的代码可能会受到影响。

如果它确实影响了你的代码,有一个非常简单的方法可以避免这种性能损失。只需使用 .css("width") 而不是 .width(),以明确表示你想获取或设置元素的实际宽度,如 CSS 中指定的那样。这不需要 jQuery 查看 box-sizing。但是,请记住,.css("width") 作为获取器返回一个字符串,末尾带有“px”,因此你将需要使用类似 parseFloat( $(element).css("width") ) 的方法来处理结果必须是数字的情况。

当然,这里提到的关于 .width() 的一切也适用于 .height();使用 .css("height") 来避免那里的性能损失。

使用 .outerWidth() 作为设置器

在其他与尺寸相关的新闻中,jQuery 的 .outerWidth().outerHeight() 方法在 1.8 中得到了更新,因此 它们可以作为设置器使用。(jQuery UI 从 UI 版本 1.8.4 开始就支持它们作为设置器,但现在它内置于核心代码中。)要将 .outerWidth() 用作设置器,请传递一个表示外部宽度的参数(CSS“内容”宽度,加上内边距和边框宽度)。是的,这也能很好地处理 box-sizing: border-box 情况;它基本上与在这种情况下设置 .css("width") 相同。

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

我们正在更新所有 1.8 更改的 API 文档,但现在你可以参考 jQuery 1.8 公告 中的更改日志,以查看发生了哪些更改。

jQuery 1.8 发布

发布于 作者

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

和往常一样,Google 和 Microsoft CDN 很快也会有该文件。请不要问我们它们什么时候会发布,我们不知道,我们也无法控制这些 CDN!如果你迫不及待地想开始使用,请直接使用上面 jQuery CDN 中的副本。它是一样的代码。

我们预计不会收到有关此版本的任何错误报告,因为已经发布了几个测试版和一个候选版本,每个人都有充分的机会对它进行彻底测试。哈哈,这个笑话永远不会过时。我们知道,你们中的太多人会在尝试使用他们的代码之前等待最终版本的发布。因此,现在真的没有理由再等待了,你可以看看是否有任何可以早点报告的错误。

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

jQuery 1.8 的快速浏览

让我们回顾一下这个版本中的重大变化

Sizzle 重构:jQuery 的选择器引擎比以往任何时候都快,这要归功于 Timmy Willison 的重写(实际上是两次重写)。当然,现在大多数浏览器都有 querySelectorAll,但几乎所有实现都或多或少地存在不足,导致了一条满是跨浏览器坑洼的路。Sizzle 为你铺平了这条路。此外,你可能希望使用那些有用的 jQuery 选择器扩展,比如带有复杂选择器的 :has():contains()。哦,对了,它仍然支持 IE6/7。

动画重新构想:随着时间的推移,jQuery 中的动画代码变得有点混乱。Corey Frang 义无反顾地跳进那个沼泽,成功地消除了大多数鳄鱼,嗯,错误。大多数更改都隐藏在内部,因此现有动画应该可以正常工作(并且工作得更好)。但还有一些很棒的补充,让动画更加通用和可扩展。一个值得注意且非常酷的功能是使用 Promise 中的进度回调。我们仍在编写详细的文档,但我们确实有 一份草稿。此外,以下是一个示例,展示了新代码的运行情况:http://jsbin.com/odocid/1/edit.

自动 CSS 前缀添加:当你使用 CSS 属性时,无论是在 .css() 还是 .animate() 中,我们都会使用适合该浏览器的正确带前缀的属性(如果适用)。例如,以 .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 的压缩文件大小实际上比 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:这是 奇怪的签名,它原本用于旧的 .live() 方法,但据我们所知,没有其他代码使用它。.closest() 的正常使用返回一个 jQuery 对象,不受此签名被移除的影响。

$.curCSS:从 jQuery 1.3 开始,此方法只是 jQuery.css() 的别名。虽然它从未成为文档化的 API 的一部分,但已知一些外部代码使用了它,可能认为它“更高效”。现在它“更不存在”了。

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

致谢

这个版本的发布离不开 jQuery 核心团队成员的辛勤工作:Julian Aubourg (jaubourg)、Corey Frang (gnarf)、Richard Gibson (gibson042)、Mike Sherov (mikesherov)、Rick Waldron (rwaldron) 和 Timmy Willison (timmywil)。

特别感谢以下 jQuery 团队和社区成员,他们在 jQuery 1.8 开发周期中通过补丁贡献支持了核心团队: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 做贡献,请了解bug tracker,并通过创建简化的测试用例来帮助我们,这些用例可以清楚地演示错误。一旦我们能够重现问题,解决方案通常并不遥远。这些测试用例将成为单元测试的基础,可以防止我们在以后的版本中更改代码时发生问题。

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 不会将数据参数与 jQuery.ajaxSetup 合并
  • #10944: $.ajax 并不总是返回一个实现 Promise 接口的对象
  • #11013: 弃用 Deferred/Promise 与同步 $.ajax 的使用
  • #11402: evalScript 函数在 IE 中出现错误 80020101
  • #11743: jQuery 在 $.appendTo() 中的脚本标签 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 时错误地删除了 padding 和 border 宽度
  • #11787: 删除 jQuery.curCSS
  • #12088: Webkit 现在为更多 getComputedStyle 属性返回百分比
  • #12148: hide 事件在切换时不触发

数据

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

延迟

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

尺寸

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

效果

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

事件

  • #8545: IE 中事件泄漏
  • #10067: 也在 document.readyState === 'interactive' 上触发 $.ready
  • #10895: bindReady 中的 doScrollCheck ie 技巧毫无理由地降低了 ie7 的性能
  • #11101: 弃用 trigger 方法中的“exclusive”事件选项
  • #11315: delegate() 和 :first 在具有等效类的嵌套元素中出现问题
  • #11328: 在 Windows 上,Ctrl 键不会将 event.metaKey 设置为 true
  • #11382: 在禁用的输入元素上,mouseenter 不会触发
  • #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() 以及类似方法在 IE 中返回错误的 jQuery 集
  • #10324: 克隆在 IE9 中没有复制对象元素的 innerHTML
  • #11231: Append、Prepend、After、Before 应该接受数组作为第一个参数
  • #11325: 改善 domManip/buildFragment/clean
  • #11338: .replaceWith() 和断开连接的节点的行为不一致。
  • #11528: IE8 序列化错误,.html() 也影响 html5 标签
  • #11566: node.append 等在 node 是 DocumentFragment 时不起作用
  • #11617: 定义一个 $.parseHTML 方法来创建 HTML 片段
  • #11809: .text(val) setter 中的内存泄漏?
  • #11898: 具有复杂 :not() 选择器的 prevAll() 以错误的顺序返回结果
  • #12132: 在克隆没有父节点的对象元素时,IE10 错误

偏移量

  • #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: :has() 中的 :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 时出现 "Maximum call stack size exceeded" 错误
  • #11966: 后代选择器
  • #11969: 收集兄弟节点时缺少 null 检查
  • #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: jQuery 1.7.2 中 iframe 内的 IE 8 内存累积
  • #11766: 将 jQuery.support 移动到 "不稳定" 状态

遍历

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