jQuery 1.0.3

发布于 作者:

又一个错误修复版本已经准备好供大家使用! 强烈建议立即升级。 和往常一样,如果您发现任何错误,请 添加到错误跟踪器

与上次发布一样,jQuery 1.0.3 仅包含错误修复——将所有 API 的添加/更改/删除留到下一个完整版本:jQuery 1.1。

再次感谢 Jörn Zaefferer 在跟踪错误方面所做的出色工作,修复了绝大多数错误。 这个版本的发布很大程度上归功于他。

立即下载

此版本包含一个新包:与此版本相关的所有内容的完整 zip 文件。 这包括 jQuery 的三个版本(常规版、精简版和压缩版)、测试套件以及所有文档。 现在您无需自行构建即可拥有自己的副本。

已关闭的工单

此版本关闭的全部错误或增强功能

注意: 尽管下面显示了大约 60 个错误,但其中许多错误是被垃圾邮件发送者弄乱的——因此我不确定此版本修复了哪些错误,哪些只是被重新关闭的僵尸错误。 我认为,虽然此版本修复了许多错误,但并非 60 个。

  1. hover 跨浏览器问题
  2. hoverClass
  3. Opera 9.01 中的 slideUp/Down 错误
  4. jQuery 的 toggle(); 与 moo.fx 的 toggle(); 混淆
  5. 动画中的 FX flash 错误
  6. .css() 返回不正确的值
  7. 规范化事件对象
  8. 不透明度应为 1.0
  9. 将 thead 附加到 table
  10. 将 ‘e’ 传递给 JQuery.css() 时出现问题
  11. [PATCH] IE 不透明度问题已解决
  12. 在回调函数中使用 show 时出现错误
  13. [jQuery] hover 函数未调用 mouseout 回调
  14. children() 可能不返回任何内容
  15. [PATCH] $().hover 在 firefox 中出现错误
  16. 上下文正在被修改
  17. .text() 包含注释
  18. 动画队列是否已损坏?
  19. IE 在半透明抗锯齿文本上出现奇怪现象,这是一个小修复
  20. $([[‘a’, ‘b’]]).length
  21. $().trigger 在 rev. 127 之后损坏
  22. JS 在 firefox 中生成“警告”
  23. Mozilla/Firefox 浏览器中的内存泄漏(使用 addEventListener)
  24. Safari 在测试套件中崩溃
  25. remove() & remove(expr) 不起作用
  26. [PATCH] IE 在没有边框的情况下 innerWidth 和 innerHeight 失败
  27. $.load 需要回调
  28. o.getAttribute 不是一个函数 (第 634 行)
  29. 不可用的响应头破坏 Firefox 1.0
  30. show 和 hide 出现问题
  31. 嵌套在 display:none 中会导致 width()/height()=0
  32. this.set 不是一个函数
  33. $.ajax() 中的 ifModified 参数
  34. https 上的 ready 不起作用,修复 msie
  35. $.get() 的参数错误地附加到 querystring
  36. ajax 摘要 / todo 列表
  37. $(‘node1/node2’) 在 node1 为空时会出错
  38. IE 的 float 属性
  39. 不透明度在 IE 中不起作用
  40. $.postJSON
  41. cloneNode() 问题
  42. “name.replace 不是一个函数” 在 1.0.2 中
  43. 无法隐式放弃搜索上下文(没有 .end())
  44. hide/show 后的 html 加载未正确显示
  45. 分离私有和公共 $.extend
  46. $.load 应该自动 JQuerified
  47. ajaxStart 和 ajaxStop 出现问题
  48. .add( jQuery )
  49. 设置 iframe src 属性时出现双重赋值
  50. Interface Autocompleter 未正确解析 XML
  51. jQuery.ajax 中一些变量在 1.0.2 中未正确初始化
  52. $.ajax: 像 load() 一样评估“html”数据类型的 JS
  53. $(‘something’).load(‘test.html’).show(“slow”) 不起作用
  54. jQuery “val” API 文档的修改
  55. jQuery 1.0.2 似乎破坏了 Interface Elements Autocompleter 插件
  56. CSS 中的连字符,IE6
  57. 断言 animate 不会更改哈希参数
  58. .animate() overflow 未重置

jQuery 按钮大赛 – 众多奖品!

发布于 作者:

更新: 比赛现已结束! 感谢所有人的投稿。 我们将很快开始评审过程。


为了鼓励人们推广 jQuery 项目,并尽可能让更多人参与社区,我们正在举办一个制作“Powered by jQuery”按钮的比赛。 设计精美的按钮将成为 jQuery 用户提高项目知名度的好方法,同时在您的网站上拥有一个看起来很酷的东西!

比赛规则

  1. 比赛将于 11 月 3 日结束。 获奖者将于 11 月 5 日公布。
  2. 所有参赛作品必须针对网络进行优化(8 位 PNG),并且图像大小不应超过 173×31 (示例)。
  3. jQuery 团队有权以任何方式使用提交的内容。 这将防止将来出现任何版权问题。 获奖者还必须能够提供 PSD(或 AI)文件,以便将来可以维护该图像。
  4. 将为一等奖、二等奖和三等奖提交作品颁发奖品。
  5. jQuery 社区将进行最终投票,由 John Resig(jQuery 的创建者)和 Rey Bango 审核。
  6. 您应该使用 jQuery 帽子标志 在您的按钮中(您可以根据需要重新绘制它)。 如果需要,这里有一个 帽子标志的原始 PSD

奖品

  1. 一等奖:两本书 – Ajax 设计模式 和 John Resig 即将出版的 Pro JavaScript 技术
  2. 二等奖:一本书 – Ajax 基础
  3. 三等奖:10 美元现金到您选择的 PayPal 帐户!

奖品将通过普通邮件运送到世界任何地方。

所有提交都应通过标准超链接在本文的评论部分进行。 提交条目时,请务必提供有效的电子邮件地址。

这是您真正帮助扩展 jQuery 社区的机会,通过创建一个一流的按钮来获得大量的曝光。 祝大家好运!

Firefox 的朋友 – Mozilla 使用 jQuery。

发布于 作者:

Mozilla 刚刚发布了 http://www.worldfirefoxday.com/,这是一个网站,旨在感谢所有为 2006 年世界 Firefox 日做出贡献的人。 该网站允许用户搜索朋友的名字,并以有趣的方式显示它们。

该脚本是 Rotator 脚本和一些流畅的 AutoComplete 的组合,后者为搜索提供支持。

慢慢输入一个名字,查看结果被过滤并实时加载到旋转器中。 然后,如果结果数量超过 20 个,您可以“分页”浏览它们。 该脚本支持“上一个”按钮,但它已被隐藏。

screenshot.jpg

也发布在 Drinking rockstars and programming

Zebra 表格对决

发布于 作者:

作为对之前的 事件选择器对决 的后续,现在是 Zebra 表格对决

挑战

使页面上的所有表格都有条纹(“斑马”)背景(每行奇数行使用不同的颜色)。

比赛规则

  • 应通过为“奇数”行表格添加一个类来完成奇/偶样式。
  • 这必须能够在多个表格上工作。(这并不像找到所有行然后遍历每个奇数行那么简单,否则下一个表格中的偶数行可能会被突出显示)。
  • 代码应该尽可能优雅地完成,尽可能多地使用库的功能。 速度不是问题。

预期结果
zebra-fig1.gif

纯 DOM 脚本:(演示)

var tables = document.getElementsByTagName("table");
for ( var t = 0; t < tables.length; t++ ) {
  var rows = tables[t].getElementsByTagName("tr");
  for ( var i = 1; i < rows.length; i += 2 )
    if ( !/(^|\s)odd(\s|$)/.test( rows[i].className ) )
      rows[i].className += " odd";
}

注意:这包括检查表格行是否已经存在“odd”类。 所有现代库都处理了这一点。

Yahoo UI:(演示)

var tables = document.getElementsByTagName("table");
for ( var t = 0; t < tables.length; t++ ) {
  var rows = tables[t].getElementsByTagName("tr");
  for ( var i = 1; i < rows.length; i += 2 )
    YAHOO.util.Dom.addClass( rows[i], "odd" );
}

注意:虽然,他们自己的开发者网站 不同意

Dojo:(演示)

var each = dojo.lang.forEach;

each(document.getElementsByTagName("table"), function(table){
  each(table.getElementsByTagName("tr"), function(row,i){
    if ( i % 2 == 1 )
      dojo.html.addClass( row, "odd" );
  });
});

注意:为了使代码更短,一个常用函数被分配给一个变量。

Prototype (1.4.0):(演示)

$A(document.getElementsByTagName("table")).each(function(table){
  $A(table.getElementsByTagName("tr")).each(function(row,i){
    if ( i % 2 == 1 )
      Element.addClassName( row, "odd" );
  });
});

Mochikit:(演示)

var byTag = getElementsByTagAndClassName;

forEach( byTag("table"), function(table) {
  var rows = byTag( "tr", null, table );
  for ( var i = 1; i < rows.length; i += 2 )
    addElementClass( rows[i], "odd" );
});

注意:为了使代码更短,一个常用函数被分配给一个变量。

Prototype (1.5.0):(演示)

$$("table").each(function(table){
  Selector.findChildElements(table, ["tr"])
    .findAll(function(row,i){ return i % 2 == 1; })
    .invoke("addClassName", "odd");
});

mootools:(演示)

$$("table").each(function(table){
  $ES("tr", table).each(function(row,i){
    if ( i % 2 == 1 )
      row.addClass( "odd" );
  });
});

jQuery:(演示)

$("tr:nth-child(odd)").addClass("odd");

如果您觉得您有比此处发布的更优雅的解决方案,请在下面发布,以便更新列表。


新提交

这些是其他读者提交的新条目。

AJS:(演示)

AJS.map(AJS.$bytc("table"), function(table) {
 AJS.map(AJS.$bytc("tr", null, table), function(row, i) {
   if ( i % 2 == 1 && !/(^|\s)odd(\s|$)/.test( row.className ) )
     AJS.setClass( row, "odd" );
 });

Prototype 1.5.1: (demo)

$$('tr:nth-child(odd)').invoke('addClassName', 'odd');

1.0.2 中的小 API 更改

发布于 作者:

我忘记在 1.0.2 版本说明 中提到,前几天有一个小的 API 变更。这是一个失误,我们应该等到下一个主要版本(jQuery 1.1)再进行 API 变更。

正如 Steven Wittens 总结的那样,变更背后的前提是:

在 jQuery 1.0.2 中,‘success’ 回调函数的第一个参数已更改为返回实际数据,而不是 XMLHttpRequest 对象。使用 $.ajax() 的 ‘dataType’ 参数来控制数据的返回方式。请注意,jQuery 现在可以以这种方式为您解析 XML、JSON 和 JavaScript。

jQuery 1.0.1

$.ajax( {
  success: function (xmlhttp) {
    var data = $.httpData( xmlhttp );
    // 'data' holds the response data from the server
  }
);

jQuery 1.0.2

$.ajax( {
  success: function (data) {
    // 'data' holds the response data from the server
  }
);

感谢 Steven 的总结,并对大家带来的不便表示歉意!

jQuery 1.0.2

发布于 作者

jQuery 1.0.2 现在已经准备好使用了!这个版本是一个巨大的错误修复版本——强烈建议您立即升级。和往常一样,如果您发现任何错误,请 添加到错误跟踪器

除了拥有更好的测试套件外,这个版本的一个重要推动力是提高常见任务(例如 AJAX 操作)的跨浏览器兼容性。然而,在功能上,这个版本没有添加任何主要特性(尽管,预计在 1.1 版本中会有一些新代码)。

我想借此机会向大家介绍 Jörn Zaefferer。这个版本的大部分成果都归功于他。他负责完全重构测试套件(现在有 260 多个测试!)并修复了大部分当前错误和增强功能(超过 60 个!)。如果您想感谢某人,那应该是他。

立即下载

已关闭的工单

此版本关闭的全部错误或增强功能

  1. 跨浏览器尺寸
  2. I.E. 文本渲染为完全不透明
  3. FadeIn/FadeOut 在已经设置了不透明度时失效
  4. css(‘top’) 和 css(‘left’)
  5. fx.custom() 在 IE 中对不透明度不起作用
  6. 不透明度在 IE 中不起作用
  7. jQuery IE6 与 base href 的错误
  8. [PATCH] IE 不透明度问题已解决
  9. 命名空间选择元素和属性
  10. append(html) 函数失败,如果 html 是一个表格片段并且以空格开头
  11. IE 在半透明抗锯齿文本上出现奇怪现象,这是一个小修复
  12. 修复表单中 getAttribute(‘action’)
  13. IE 在嵌套的 each 循环中对 $(this) 抛出错误
  14. IE5 脚本错误
  15. Mozilla/Firefox 浏览器中的内存泄漏(使用 addEventListener)
  16. filter 似乎没有正确运行
  17. $(‘node1/node2’) 在 node1 为空时会出错
  18. add 不合并集合
  19. extend 不允许对集合进行操作
  20. 记录 $(”
  21. $.load 需要回调
  22. [PATCH] $().hover 在 firefox 中出现错误
  23. :not() 中的属性值
  24. children() 可能不返回任何内容
  25. IE 在嵌套的 each 循环中对 $(this) 抛出错误
  26. ajax 摘要 / todo 列表
  27. Safari 在测试套件中崩溃
  28. 错误的 Safari 检测
  29. next() 在 IE 和 Firefox 中的不同行为
  30. [PATCH] IE 事件系统中的内存泄漏
  31. AJAX 的不同编码
  32. IE 6 移除空格,例如在使用 append 时
  33. hover() mouseout 错误
  34. $.postJSON
  35. Params to $.get() 被错误地附加到查询字符串
  36. 在没有参数的情况下调用 load 会抛出异常
  37. 在 IE 中返回 script 标签失败
  38. 不可用的响应头破坏 Firefox 1.0
  39. $.ajax() 中的 ifModified 参数
  40. AJAX 的超时作为参数
  41. 替换 :input, :radio 等
  42. Ajax 重构
  43. jQuery 的 toggle(); 与 moo.fx 的 toggle(); 混淆
  44. 不透明度解析错误
  45. .constructor == Function 不够
  46. [PATCH] $().hasClass()
  47. 创建 IE 5.0 支持插件
  48. [PATCH] IE 在没有边框的情况下 innerWidth 和 innerHeight 失败
  49. sibling() 返回兄弟元素和主题
  50. IE 无法处理 #element/* 表达式
  51. XHTML 表格
  52. wrap 在 HTML 结构包含文本时中断
  53. 修复属性 *=, ^=, 和 $= 在特殊属性的情况下
  54. `]` 破坏选择器
  55. 再次包含 jQuery 会覆盖已经注册的 document-ready 事件
  56. 表达式在 FireFox 1.5.0.6 中生成错误
  57. 支持 ancestor:: 轴
  58. prev() 没有按预期工作
  59. nth-of-type
  60. 动画函数发布
  61. attr(‘checked’, true) 不起作用