R42日記スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。読者です読者をやめる読者になる読者になるR42日記この日記は私的なものであり、所属会社の見解ではありません。1.6がリリースされています。リリースノートを見ると。ムムム!!見過ごせない変更があるではないですか。abc.1.6リリースでは、DOM要素の属性とプロパティを扱うメソッドを明示的に分けました。DOM要素のプロパティを設定/取得/削除するために、新たに.prop()および.removeProp()メソッドを用意しました。以前のjQueryリリースにおいては、属性とプロパティの扱いをハッキリと区別していませんでした。一般的に、DOMの属性とはドキュメントから静的に読み取れる状態を表します。value="abc">におけるvalue属性のそのままの状態です。一方で、DOMのプロパティとはドキュメントの動的な状態を表します。ユーザーがinput要素に"def"と追記したときの.prop('value')は"abcdef"ですが、.attr('value')は"abc"のままです。semantics.大抵の場合、ブラウザーは属性の値をプロパティの『最初の値』として認識します。checked、disabledのような真偽値には当てはまりませんが。属性名だけという意味)のに、DOMのcheckedプロパティがtrueであることを意味しています。このケースでは、checked属性の値は空文字列(属性そのものが指定されていない場合はundefined)です。checkedプロパティの値はtrueなのです。state.このようなケースにおいて、以前のリリースにおいては、.attr('checked')は真偽値(trueかfalse)を返していました。リリース1.6からは、属性の実際の値(つまり、空文字列)を返します。この値はユーザーがチェックボックスの状態を変えても不変です。jQuery.checkboxの現在の状態を判定する手段はいくつか存在しますが、最良の手段はDOMのプロパティthis.checkedを直接使うことで、これはjQuery1.6以降における、$(this).prop('checked')の結果と全く同じです。$(this).is(':checked')はjQueryの全てのバージョンで正しく動作します。クリティカルな変更じゃね?うーむ、$.attrを使っている箇所を全部見なおさなければ。結局は1.6.1で、attrが後方互換性を持つように修正されたようです。