matsukaz's blog

Agile, node.js, ruby, AWS, cocos2d-xなどなどいろいろやってます

jQuery 1.2.6リリースノート

jQuery 1.2.6のリリースノートがやっと公開されました。

jQuery 1.2.6の位置付け

1.2.6は1.2.3の次のバージョンだそうな。1.2.4と1.2.5がスキップされた理由は、1.2.4はビルドに失敗、1.2.5はパッチを適用し損ねたためです。

パフォーマンス改善

イベントのハンドリングやCSSセレクタなどの性能が向上。1.2.3との比較はjQuery 1.2.3 v. 1.2.6 Google Spreadsheetにて。

新機能と変更点

  • Dimensions Pluginの取り込み
    • jQuery 1.2.6からはDimensions Pluginを入れる必要はない。
  • .attr()の実装見直し
  • .toggle()に渡せる関数の数を変更
    • 従来はクリックした回数(偶数回目か奇数回目か)に対応した二つの関数が渡せたが、1.2.6からはn個の関数を渡せるようになった。
$("div").toggle(function(){
  $(this).removeClass("three").addClass("one");
}, function(){
  $(this).removeClass("one").addClass("two");
}, function(){
  $(this).removeClass("two").addClass("three");
});
  • .toggle()と.one()がunbind可能に
  • .index()がjQueryコレクション対応
var test = $("div.test");
$("div").index( test ) == 3
  • jQuery.makeArrayにより何でも配列に
jQuery.makeArray(document.getElementsByTagName("div")) // => [ div, div, div ] jQuery.makeArray(true) // => [ true ]
jQuery.makeArray() // => []
  • beforeSendでAjax呼び出しをキャンセル
$.ajax({
  beforeSend: function(){
    return $("#input").val() == "";
  },
  url: "test.php"
});
  • スピードの調整が可能に
jQuery.fx.speeds.slow = 1000;
$("#test").slideDown("slow");