jqueryはcheckboxの選択ができないと選択状態になりません。


 
$("input").attr("checked","checked")
設定後、checkboxは選択状態になっていません。chromeで調整してみました。checkには確かにcheced属性があります。また、値はcheckedですが、ページ表示はまだ未選択状態
 
$("input").prop("checked",true);
ttributesとpropertiesの違いが特定の場合に重要です。jQuery 1.6の前に、atro()の方法は、あるatributeの値を取ると、propertyの値に戻ります。これは結果の不一致を招きます。jQuery 1.6からprop()方法はpropertyの値を返しますが、atr()方法はatributesの値を返します。例えば、selectedIndex、tagName、nodeName、nodeType、owner Dcument、default Checked、およびdefault Selectedは使用すべきです。jQuery 1.6の前に、これらの属性はatr()メソッドで取得されますが、これは元素のatr属性ではありません。彼らは該当する属性がなく、特性だけがあります。例えば、DOM要素のHTMLタグで定義されているを考慮して、そして、JavaScript変数によって命名されたelem:elem.checked true(Boolean)がチェックボックスの状態を変更すると仮定します。prop(checked)true(Boolean)はチェックボックスの状態を変更します。elem..atr("checked")(1.6)"checked"(String)は変更されないチェックボックスの初期状態;elem..atr(「checked」)(1.6.1+)「checked」(Stering)はチェックボックスの状態を変更します。atr(「checked」)(pre-1.6)true(Boolean)はチェックボックスの状態をW 3 Cのフォーム仕様によって変更します。チェックボックスの属性がブール属性であっても、これはtrateが存在しない限り、ということです。この属性に対応するpropertyがtrueです。以下のオススメは、jQuery 1.6を使用すると、コードif($elem).atre(checked))が属性を取得し、このチェックボックスが選択され、選択されていることを変更しないというブラウザ対応の方法です。デフォルトまたは選択した属性の初期値だけを保存します。後方互換性を維持するために.atr()メソッドはjQuery 1.6.1+から属性値を返す以外に、property属性を更新するので、bootlean atribute(ブール属性)は.prop()によってその値を変更する必要がありません。上記の方法の一つを使って、checedの値を取得することを推奨します。