Hatena::Groupsubtech

おれ ここ めも かきなぐる おまえ ここ よむ なぐる

 | 

May 23, 2011

全てのattr()をprop()に書き換える必要があるわけではない

17:12

メモがわりなので適当に書きすぎた。反省してない。言い訳はする。

jQuery 1.6でattr()の互換性が結構失われて非難轟々だったので1.6.1で互換性が保たれるように直したという感じでほとんどのケースでそのまま動きます

僕のようにdisabledを消すために空文字突っ込むという変なコードを書いてた人がハマったという話でした

$("input").removeAttr("disabled");

とか普通は書いてると思うので、ハマる人は少ないと思います。


jQuery1.6.1のattr()は1.5.2と互換性があるように修正したので、既存のコードを修正しなくて良いはずだったのにそうじゃなかった

14:39

@ofkに

$("input").attr("disabled", "");

が動かなくなっていると教えてもらった。Developer Toolsとかで操作後のHTMLを見ると、

<input disabled>

属性値が消えるだけになってて、disabledが解除されないようだ。ブラウザ依存かもしれない。

$("input").prop("disabled", false);

という1.6で推奨されているコードに書きなおした

 |