å€‹äººçš„ã«æ²¹æ–­ã—ã¦ãŸã‚“ã§ã™ãŒã€jQuery 1.8ãŒãƒªãƒªãƒ¼ã‚¹ã•れã¾ã—ãŸã­ã€‚

CSSã®ãƒ™ãƒ³ãƒ€ãƒ¼ãƒ—レフィックスを自動ã§ã»ã¼è£œå®Œã—ã¦ãれるよã†ã«ãªã£ãŸã®ãŒç›®çŽ‰æ©Ÿèƒ½ã§ã—ょã†ã‹ã€‚作業é‡ã¨ã—ã¦ã¯ã€ã‚»ãƒ¬ã‚¯ã‚¿ãƒ¼ã‚¨ãƒ³ã‚¸ãƒ³Sizzleã¨ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³é–¢ä¿‚ã‚’å…¨é¢çš„ã«æ›¸ãæ›ãˆãŸäº‹ãŒå¤§ããã†ã§ã™ã€‚ãªãŠè«¸ã€…強化ã•れã¦ã„ã‚‹ã«ã‚‚é–¢ã‚らãšã€ãƒ•ã‚¡ã‚¤ãƒ«ã‚µã‚¤ã‚ºã¯æ¸›ã£ã¦ã„ã¾ã™ã€‚(ã¡ã‚‡ã£ã¨ã ã‘ã©ã­ã€‚) ãˆã‚‰ã„ï¼

ãªãŠjQuery UI (1.8.22)ã¨jQuery Mobile (1.1.1)ãŒæ­£å¸¸ã«å‹•作ã™ã‚‹äº‹ã¯ç¢ºèªã—ã¦ã„るよã†ã§ã™ã€‚

ダウンロード

ã¡ãªã¿ã«WordPressã§åˆ©ç”¨ã™ã‚‹ã«ã¯ã“ã¡ã‚‰ã®è¨˜äº‹ã‚’。

主ãªå¤‰æ›´ç‚¹

CSSã®ãƒ™ãƒ³ãƒ€ãƒ¼ãƒ—レフィックスを自動付加

ã„ã¾ã¾ã§ $elem.css('-webkit-transform', '...') ã£ã¦æ›¸ã„ã¦ãŸã®ãŒ $elem.css('transform', '...') ã§æ¸ˆã‚€ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸã€‚ã„やーã€ã“れ良ã„ã§ã™ã­ã€‚

ãŸã ã—ç½ ãŒã‚りã¾ã™ã®ã§ã”注æ„。

→詳ã—ã

モジュール化

jQuery UIã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã§ã™ã­ã€‚jQueryã¯ãŸãã•ã‚“ã®æ©Ÿèƒ½ãŒã‚りã¾ã™ãŒã€å¿…è¦ãªã‚‚ã®ã ã‘ã‚’é¸ã‚“ã§ã‚«ã‚¹ã‚¿ãƒ ã—㟠jquery.js を作æˆã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚

→詳ã—ã

アニメーションã®å‡¦ç†ã‚’刷新

複雑ã«ãªã£ã¦ãã¦ç®¡ç†ãŒå¤§å¤‰ã«ãªã£ã¦æ¥ãŸäº‹ã¨ã€ä½•やら壮大ãªè¨ˆç”»ãŒã‚ã‚‹ãã†ã§ã€ã¾ã‚‹ã£ãã‚Šæ›¸ãæ›ãˆãŸã¨ã®äº‹ã€‚

使ã†å´ã¨ã—ã¦ã¯ã€åŸºæœ¬çš„ã«ã¯ä»Šã¾ã§ã©ãŠã‚Šã§ã™ã€‚

→詳ã—ã

セレクター解æžã‚¨ãƒ³ã‚¸ãƒ³Sizzleã‚’å†æ§‹ç¯‰

一ã‹ã‚‰æ›¸ãç›´ã—ãŸã‚ˆã†ã§ã™ã€‚(ã—ã‹ã‚‚二度ï¼ï¼‰ã€€ã“れã§éŽåŽ»ã®ã‚‚ã®ã‚ˆã‚Šã‚‚高速ã«ãªã£ãŸã¨ã‹ã€‚ã©ã“ã‹ã«æ¯”較ã¨ã‹ã‚ã‚‹ã®ã‹ãªï¼Ÿ

ãŸã ã—高速化ã®å½±éŸ¿ãŒã‚ã‚‹ã®ã¯è¤‡é›‘ãªã‚»ãƒ¬ã‚¯ã‚¿ãƒ¼ã§ã™ã€‚å˜ç´”ãªã‚»ãƒ¬ã‚¯ã‚¿ãƒ¼ï¼ˆIDやクラスã€è¦ç´ åã ã‘ã®ã‚‚ã®ï¼‰ã«ã¤ã„ã¦ã¯ä»Šå›žã¯é«˜é€ŸåŒ–ã•れã¦ã„ã¾ã›ã‚“。元々ã»ã¼é™ç•Œã¾ã§é«˜é€ŸåŒ–ã•れã¦ã„ã¾ã—ãŸã‹ã‚‰ã€‚

XSS対策

強化ã•れãŸã‚ˆã†ã§ã™ã€‚ã‚ã‚“ã¾ã‚Šã‚ˆãã‚ã‹ã‚‰ã‚“ã®ã§ã™ãŒã€ $.parseHTML() ãŒç”¨æ„ã•れã¦ã„ã¾ã™ã€‚今後ã¯ã“れを使ãˆã¨ã„ã†æ–¹é‡ã®ã‚ˆã†ã§ã™ã€‚

$('<script>alert()</script>');  // => [<script>​alert()​</script>​]
$.parseHTML('<script>alert()</script>');  // => []
$.parseHTML('<script>alert()</script>', null, true);  // => [<script>​alert()​</script>​]

ã¾ãŸä»Šå¾Œ (1.9) ã§ã¯ã•らã«å¯¾ç­–を強化ã™ã‚‹ã€ã¨ã®ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã‚‚ã‚りã¾ã™ã€‚ $(html) ã§ç”Ÿæˆã§ãã‚‹ã®ã¯ã”ãå˜ç´”ãªã‚‚ã®ï¼ˆä¾‹ãˆã° $('<p />') ã®ã‚ˆã†ãªã‚‚ã®ï¼‰ã«é™ã‚‰ã‚Œã€ã¾ãŸä¸€æ–‡å­—目㌠< ã§ãªã„ã¨é§„ç›®ã«ãªã‚‹ãã†ã§ã™ã€‚

ã¾ã‚普通ã¯ãã†ã„ã†ä½¿ã„æ–¹ã ã‘出æ¥ã‚Œã°è‰¯ã„ã‚“ã˜ã‚ƒãªã„ã‹ãªã¨æ€ã„ã¾ã™ã€‚属性付ãã®HTMLè¦ç´ ã‚’生æˆã™ã‚‹å ´åˆã¯ã€ attr() を使ã†ã‹ã€ $(html, props) ã¨ã„ã†æ›¸ãæ–¹ãŒã§ãã¾ã™ã€‚

var $elem = $('&lt;element /&gt;', { attr1: val1, attr2: val2 });
// =&gt; [&lt;element attr1=&quot;val1&quot; attr2=&quot;val2&quot; /&gt;]

削除

詳細 API 備考
#11787 $.curCSS
#10589 $elem.data("events") デãƒãƒƒã‚°ç”¨ã« $._data($elem, "events") ãŒåˆ©ç”¨å¯èƒ½ã€‚
#11738 $elem.closest(Array) .closest( selector ) ã¯å¼•ãç¶šã利用å¯èƒ½ã€‚
#11736 deferred.isResolved() deferred.stat() ã§ä»£ç”¨ã€‚
#11736 deferred.isRejected() deferred.stat() ã§ä»£ç”¨ã€‚

実㯠$elem.data("events") ãŒä½•ã ã‹ã‚ã‹ã£ã¦ã¾ã›ã‚“。

$elem.data(“events”)ã¯jQueryãŒå†…éƒ¨ç”¨ã«æŒã£ã¦ã‚‹ã€è¦ç´ ã”ã¨ã«è¨­å®šã•れãŸã‚¤ãƒ™ãƒ³ãƒˆãƒãƒ³ãƒ‰ãƒ©ã§ã™ã­ã¨ã®äº‹ã§ã™ã€‚

削除アナウンス

å°†æ¥ï¼ˆ1.9ã¨ã‹ï¼‰å‰Šé™¤ã•れるらã—ã„。ã„ã¤æ¶ˆãˆã‚‹ã‹ã¯å€‹åˆ¥ã«èª¿ã¹ã¦ãã ã•ã„。

詳細 API 備考
#9385 $.browser $.support ã§æ©Ÿèƒ½åˆ¥ã«å‡¦ç†ã‚’。
blog $.attrFn
blog $.sub()
blog グローãƒãƒ«Ajaxイベント
#11721 $.support.boxModel
#11013 $.ajax() ã§ {async:false} ã¨Deferredã®ä½µç”¨ åŒæœŸé€šä¿¡ã§ã¯å¿…ãšã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯é–¢æ•°ã‚’利用ã™ã‚‹ã€‚
#10657 $elem.size() $elem.length ã§ä»£ç”¨ã€‚
#11733 $elem.load() $elem.on('load') ã§ä»£ç”¨ã€‚
#11733 $elem.unload() $elem.on('unload') ã§ä»£ç”¨ã€‚
#11733 $elem.error() $elem.on('error') ã§ä»£ç”¨ã€‚
#9800 $elem.andSelf() $elem.addBack() ã¸ç§»è¡Œã€‚
#11719 $elem.bind('ready', fn) $(fn) ãªã„ã— $.ready(fn) ã§ä»£ç”¨ã€‚(※1)
#11786 $elem.toggle(handler1, handler2) $elem.toggle([duration] [, callback]) ã¯å¼•ãç¶šã利用å¯èƒ½ã€‚(※2)
#9400 フォーム項目疑似クラス( :text ã‚„ :checkbox ãªã©ï¼‰ [type=text] ç­‰ã§ä»£ç”¨ã€‚
#11731 hover イベント
#11718 $elem.data() ã§ç™ºç«ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆ
#9399 $.ajax() ãŒè¿”ã™Promiseã® .success() Promiseã® .done() ã¸ç§»è¡Œã€‚
#9399 $.ajax() ãŒè¿”ã™Promiseã® .error() Promiseã® .fail() ã¸ç§»è¡Œã€‚
#9399 $.ajax() ãŒè¿”ã™Promiseã® .complete() Promiseã® .always() ã¸ç§»è¡Œã€‚
  • ※1 … 厳密ã«è¨€ã†ã¨ã¡ã‚‡ã£ã¨é•ã„ã¾ã™ã€‚ready 発ç«å‰ãªã‚‰åŒã˜ã§ã™ãŒã€ready 発ç«å¾Œã« .on('ready', fn) ã—ã¦ã‚‚ fn ã¯å®Ÿè¡Œã•れã¾ã›ã‚“。 $.ready(fn) ã§ã‚れã°ã€ç™ºç«å¾Œã«å®Ÿè¡Œã—ãŸå ´åˆ fn ã¯å³æ™‚実行ã•れã¾ã™ã€‚ãªãŠ ready ã¯jQuery独自ã®ã‚¤ãƒ™ãƒ³ãƒˆã§ã™ã€‚
  • ※2 … .toggle() ã«ã¯1.0ã®é ƒã‹ã‚‰ã€Œ .show() 㨠.hide() を交互ã«å®Ÿè¡Œã™ã‚‹ã€ã¨ã„ã†æ©Ÿèƒ½ã¨ã€ã€Œã‚¯ãƒªãƒƒã‚¯ã•れるãŸã³ã«äºŒç¨®é¡žã®ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯é–¢æ•°ã‚’交互ã«å®Ÿè¡Œã™ã‚‹ã€ã¨ã„ã†æ©Ÿèƒ½ãŒã‚りã¾ã—ãŸã€‚åå‰ãŒã‹ã¶ã£ã¦ã‚‹ã¨ã„ã†ã‚ã‘ã§ã™ã­ã€‚紛らã‚ã—ã„ã®ã§å¾Œè€…ãŒå‰Šé™¤ã«ãªã‚Šã¾ã™ã€‚

ã„ã‚„ã¯ã‚„〠$.browser ã¯å‰ã€…ã‹ã‚‰éžæŽ¨å¥¨ã¨ã•れã¦ã¾ã—ãŸãŒã€ã„よã„よ削除ã§ã™ã€‚ã“れもå«ã‚ã€ã ã„ãŸã„ã¯äº’æ›ãƒ—ラグインã¸ã®ç§»è¡ŒãŒè¨ˆç”»ã•れã¦ã„る様å­ã§ã™ã€‚

ファイルサイズ

ファイルå ファイルサイズ
jquery-1.8.0.min.js 92,556 Bytes
jquery-1.7.2.min.js 94,840 Bytes

ã‚ãšã‹ã§ã™ãŒã€å°ã•ããªã‚Šã¾ã—ãŸã€‚減ã£ãŸã¨ã„ã†ã‹ã€æ©Ÿèƒ½ã‚’追加ã—ã¦ã„ã‚‹ã®ã«å¢—ãˆãªã‹ã£ãŸã€ã¨ã„ã†è¦³ç‚¹ã§è¦‹ã‚‹ã¨å¬‰ã—ã„ã‹ãªã¨æ€ã„ã¾ã™ã€‚

ã•ã¦ã€ã§ã¯å€‹åˆ¥ã«è¦‹ã¦è¡Œãã¾ã—ょã†ã‹ã€‚

ベンダープレフィックス自動補完

CSSã®ãƒ—ロパティをæ“作ã™ã‚‹éš›ã€åå‰ã¯è‡ªå‹•çš„ã«ãƒ™ãƒ³ãƒ€ãƒ¼ãƒ—レフィックスãŒè£œå®Œã•れるよã†ã«ãªã‚Šã¾ã—ãŸã€‚例ãˆã° $elem.css('transform', '...') ã¨æ›¸ãã¨ã€è‡ªå‹•的㫠"-moz-transform" ãªã‚Š -webkit-transform" ãªã‚Šã€é©åˆ‡ãªã‚‚ã®ãŒåˆ©ç”¨ã•れã¾ã™ã€‚

ベンダープレフィックスã®å¿…è¦ãƒ»ä¸è¦ã‚’見分ã‘ã‚‹ã®ã«ãƒ–ãƒ©ã‚¦ã‚¶ãƒ¼ãŒæŒã£ã¦ã„るスタイル情報を利用ã—ã¦ã„ã‚‹ã®ã§ã€å¸¸ã«æœ€æ–°ã®ãƒ–ラウザーã«å¯¾å¿œã§ãã¾ã™ã€‚

値ã¯ãƒ™ãƒ³ãƒ€ãƒ¼ãƒ—レフィックスãŒè£œå®Œã•れãªã„

ãŸã ã—ã²ã¨ã¤æ³¨æ„点ãŒã‚りã¾ã—ã¦ã€ãƒ—ロパティåã®æ–¹ã«ã¯è‡ªå‹•ã§ä»˜åŠ ã—ã¦ãれã¾ã™ãŒã€å€¤ã®æ–¹ã¯ãã†ã¯ã—ã¦ãれãªã„ã¿ãŸã„ã§ã™ã€‚例ãˆã° transition ã§æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚

// Webkitã®ãƒ™ãƒ³ãƒ€ãƒ¼ãƒ—レフィックスã®å ´åˆ
$elem.css('-webkit-transition', '-webkit-transform 1s');  // OK
$elem.css(        'transition', '-webkit-transform 1s');  // OK
$elem.css(        'transition',         'transform 1s');  // NG

"transform" ã§ã¯ãªãベンダープレフィックスを付ã‘ã¦ã€ "-webkit-transform" ã®ã‚ˆã†ã«ã—ã¦ã‚„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚

モジュール化

ãŸã ã—jQuery UIã®ãƒ“ルドツールã®ã‚ˆã†ãªã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ã§ã‚«ã‚¹ã‚¿ãƒ ã—ã¦ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã€ã¨ã„ã†ãƒ„ールã¯ï¼ˆã¾ã ï¼Ÿï¼‰ãªã„よã†ã§ã™ã€‚作るã‹ã€‚

以下ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã«åˆ†å‰²ã•れã¦ã„ã¾ã™ã€‚

  • ajax
  • css
  • dimensions
  • effects
  • offset

ãªãŠä»Šå¾Œã‚‚フル版をæä¾›ã—ç¶šã‘ã‚‹ã®ã§ã€ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºã¯ã‚„ã‚“ãªãã¦ã„ã„よ安心ã—ã¦ã­ã€ã¨ã®äº‹ã§ã™ã€‚

ビルドツールã¯grunt

カスタムビルドã«ã¯gruntを利用ã—ã¾ã™ã€‚

jQuery 1.8ã®ãƒ“ルド方法ã¯ã“ã¡ã‚‰ã«ã€‚

ã“ã®gruntã®å°Žå…¥ã¨åˆ©ç”¨ã¯ï¼ˆUNIXã«ä¸æ…£ã‚Œãªæ–¹ã«ã¯ï¼‰ã ã„ã¶å¤§å¤‰ã‹ã¨æ€ã„ã¾ã™ã€‚ã‚„ã£ã±ã‚Šã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒ“ルダーãŒå¿…è¦ã§ã™ã‚ˆã­ã€‚

アニメーション

中身ãŒã“ã‚“ãŒã‚‰ãŒã£ã¦ããŸã®ã§æ•´ç†ã—ã¦ã€Deferredをより有効ã«ä½¿ã†ã‚ˆã†ã«ãªã£ãŸã‚ˆã†ã§ã™ã€‚

高度ãªã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³å‡¦ç†ã‚’より円滑ã«è¡Œã†ãŸã‚ã«ã€ $.Animation ã¨ã„ã†ãŒç”¨æ„ã•れã¾ã—ãŸã€‚専用ã®ãƒ—ロパティをæŒã£ãŸPromiseã‚’è¿”ã—ã¾ã™ã€‚(Promiseã£ã¦ã®ã¯Deferredã®ã‚¢ãƒ¬ã§ã™ã€‚)

$.Animation ã®ç°¡å˜ãªä½¿ã„æ–¹

ã¾ã ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆã«æŽ²è¼‰ã•れã¦ã„ãªã„よã†ãªã®ã§ã€è©¦ã—ã¦ã¿ã¦ã•ã£ãã‚Šä½¿ã„æ–¹ã‚’示ã—ã¾ã™ã€‚

var anim = $.Animation($elem[0], { left: 100 }, { duration: 1000 });

注æ„点ãŒäºŒã¤ã‚ã£ã¦ã€ã¾ãšç¬¬ä¸€å¼•æ•°ãŒjQueryオブジェクトã§ã¯ãªã„äº‹ã«æ³¨æ„ã—ã¦ãã ã•ã„。生ã®HTMLè¦ç´ ã‚ªãƒ–ジェクトã§ã™ã€‚

ã‚‚ã†ã²ã¨ã¤ã¯å¼•æ•°ã‚’çœç•¥ã§ããªã„ã¨ã„ã†ã“ã¨ã€‚三ã¤ã¨ã‚‚指定ã—ãªã„㨠TypeError ã«ãªã£ã¡ã‚ƒã„ã¾ã™ã€‚全体的ã«ã‚¨ãƒ©ãƒ¼è¨‚æ­£ã¯çœç•¥ã•れã¦ã„ã‚‹å°è±¡ã§ã™ã€‚速度を求ã‚ãŸçµæžœãªã®ã ã¨æ€ã„ã¾ã™ã€‚

TypeError: Cannot read property 'duration' of undefined

戻り値 anim ã¯Promiseã§ã€ .progress() ã‚„ .done() ã¨ã„ã£ãŸãƒ¡ã‚½ãƒƒãƒ‰ã‚’用ã„ã¦ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯é–¢æ•°ã‚’与ãˆã‚‹äº‹ãŒã§ãã¾ã™ã€‚

$.Animation ã¯å„種ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã«åˆ©ç”¨ã§ãã‚‹

ã¾ãŸç¬¬ä¸€å¼•æ•°ã¯ã€å®Ÿã¯ä»»æ„ã®ã‚ªãƒ–ジェクトを与ãˆã‚‹äº‹ãŒã§ãã¾ã™ã€‚より抽象的ãªä½¿ã„方を示ã—ã¾ã™ã€‚

var from = 0, to = 100;
var elem       = { value: from };
var properties = { value: to };
var options    = { duration: 1000 };
var anim = $.Animation(elem, properties, options);

// animã¯Promise
anim
    .progress(function() { console.log('progress', arguments); })
    .done(function() { console.log('done', arguments); });

ã“ã£ã¡ã®ä½¿ã„æ–¹ã®æ–¹ãŒ $.Animation ã‚’ä½¿ã†æ„義ãŒã‚りãã†ã€‚実際ã€jQuery Blogã§ã¯Canvasã‚’æ“作ã™ã‚‹ä¾‹ã‚’挙ã’ã¦ã„ã¾ã™ã€‚

ã“ã®ã¨ã注æ„ãŒå¿…è¦ãªã®ãŒã€ properties ã«ä¸ŽãˆãŸãƒ—ロパティã¯ã€å¿…ãš elem ã«ã‚‚存在ã—ãªã‘れã°ãªã‚‰ãªã„ã¨ã„ã†äº‹ã§ã™ã€‚存在ã—ãªã„å ´åˆã€ TypeError ã«ãªã‚Šã¾ã™ã€‚

TypeError: Cannot use 'in' operator to search for 'xxx' in undefined

jQueryã®ä»Šå¾Œã®å±•é–‹

予定

jQuery 1.9 (2013å‰åŠ)
1.8ã§ã€Œå対ã€ã¨ã•れãŸå¤šæ•°ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを削除。一部ã«ã¤ã„ã¦ã¯äº’æ›ãƒ—ラグインをæä¾›ã€‚IE 6/7/8も引ãç¶šãサãƒãƒ¼ãƒˆã€‚
jQuery 1.9.x (2013年末)
引ãç¶šãä¸å…·åˆä¿®æ­£ã‚„新ブラウザーã¸ã®å¯¾å¿œãªã©ã€‚
jQuery 2.0 (2013å‰åŠã€1.9ãŒå‡ºã¦ã™ã)
ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯1.9ã¨åŒã˜APIã‚’æä¾›ã€‚ãŸã ã—IE 6/7/8ã®ã‚µãƒãƒ¼ãƒˆã‚’打ã¡åˆ‡ã‚Šã€å†è¨­è¨ˆã—ã¦è»½é‡åŒ–ã€é«˜é€ŸåŒ–。

å¤ã„IEã®ã‚µãƒãƒ¼ãƒˆ

継続ã•れã¾ã™ã€‚

1.9ã¨2.0ã¯ï¼ˆå¤ã„IEã®ã‚µãƒãƒ¼ãƒˆä»¥å¤–ã¯ï¼‰åŒã˜æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ã‚ˆã†ã«ãªã‚‹ã¿ãŸã„ã§ã™ã€‚ä¸å®‰ãªã‚‰å…¨ã¦ã‚«ãƒãƒ¼ã—ãŸ1.9を使ãˆã°è‰¯ã„ã—ã€ä¸è¦ãªã‚‰è»½é‡ãª2.0を使ãˆã°ã‚ˆã‚ã—ã„。

ã¾ãŸHTMLã‚’ã“ã‚“ãªé¢¨ã«ã™ã‚‹äº‹ã§ã€é©åˆ‡ãªãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®jQueryを読ã¿è¾¼ã‚€äº‹ãŒã§ãã¾ã™ã€‚

&lt;!--[if lt IE 9]&gt;
    &lt;script src=&quot;jquery-1.9.0.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;
&lt;!--[if gte IE 9]&gt;&lt;!--&gt;
    &lt;script src=&quot;jquery-2.0.0.js&quot;&gt;&lt;/script&gt;
&lt;!--&lt;![endif]--&gt;

å°†æ¥ (2.1) ã§ã¯å¤ã„IEã®ã‚µãƒãƒ¼ãƒˆã¯ã©ã†ãªã‚‹ã‹

「(å ã„ã®ï¼‰æ°´æ™¶çމã§ã‚‚æŒã£ã¦ãã‚„ãŒã‚Œã€ã¨ã®äº‹ã§ã™ã€‚

ã¡ãªã¿ã«Windows XPã®ã‚µãƒãƒ¼ãƒˆã¯2014å¹´ã®å››æœˆã¾ã§ã€‚ãã‚“ãªã«æ°—ã«ã—ãªãã¦è‰¯ã„ã‚“ã˜ã‚ƒãªã„ã‹ãªã€‚

ãŠã—ã¾ã„

é–“é•ã£ã¦ã‚‹ã¨ã“ã‚ã‚れã°ã‚³ãƒ¡ãƒ³ãƒˆæ¬„ã§æ•™ãˆã¦ãã ã•ã„ã¾ã—。

gruntã®ä½¿ã„æ–¹ã¨ã€ã‚ã¨ï¼ˆ .querySelectorAll() ãŒã‚ã‚‹ã®ã«ï¼‰SizzleãŒä½•æ•…å¿…è¦ãªã®ã‹ã€ã¦ãªäº‹ã‚’è¿‘ã„ã†ã¡ã«è¨˜äº‹ã§ããŸã‚‰ãªãƒ¼æ€ã£ã¦ã„ã¾ã™ã€‚乞ã†ã”期待。(å¤ä¼‘ã¿ã§å‡ºã‹ã‘ã¡ã‚ƒã†ã‘ã©ã­ã€‚)

追記: Sizzleã®æ–¹ã€æ›¸ãã¾ã—ãŸã€‚

ã¨ã£ã´ã‚“ã±ã‚‰ã‚Šã®ã·ã†ã€‚

追記

削除ã€å‰Šé™¤ã‚¢ãƒŠã‚¦ãƒ³ã‚¹ã®æƒ…報を更新 (2012-08-18)
  • 詳細ページ(主ã«ãƒã‚±ãƒƒãƒˆï¼‰ã¸ã®ãƒªãƒ³ã‚¯ã‚’追加。
  • 代用等ã®å‚™è€ƒã‚’追加。 .toggle() ã¨ã‹ç´›ã‚‰ã‚ã—ã„ã—ã­ã€‚
  • 削除アナウンスã«ã€ $.ajax() ã®æˆ»ã‚Šå€¤Promiseã® .success(), .error(), .complete() を追加。
  • 削除アナウンスã®ã€ 「$.ajax() ã®åŒæœŸã‚ªãƒ—ション { async: false }ã€ã‚’「$.ajax() ãŒåŒæœŸ { async: false } ã®ã¨ãã®Deferred併用ã€ã«ä¿®æ­£ã€‚