0

この単純な if ステートメントが常にボックスがチェックされていないと言うのはなぜですか?

  $("#x").prop('checked',true);
//$("#x").prop('checked',false);

 if ($("#x").checked) {
     alert("Checbox is checked");
 } else {
     alert("Checkbox is not checked");
 }

http://jsfiddle.net/f4Tmu/

4

4 に答える 4

2

.checkedjquery プロパティではなく、DOM 要素プロパティです。

.is(':checked')または使用する必要があります.prop('checked')

$("#x").prop('checked',true);
//$("#x").prop('checked',false);

if ($("#x").is(':checked')) {
     alert("Checbox is checked");
 } else {
     alert("Checkbox is not checked");
 }
于 2013-07-29T01:21:55.477 に答える
1

checkedは DOM 要素のプロパティなので、DOM 要素で使用します。

$("#x")[0].checked

http://jsfiddle.net/f4Tmu/13/

それ以外の場合は次を使用します。

$("#x").is(':checked')

http://jsfiddle.net/f4Tmu/16/

于 2013-07-29T01:25:40.063 に答える
1

jQueryでは:checkedセレクターを使用できると思いますが、あなたの場合はネイティブを使用します。コードの外観から、ネイティブと jQuery を組み合わせて使用​​していることがわかります。それが正しいかどうかはわかりませんが。

これを試して:

var x = document.getElementById('x');
x.setAttribute('checked', 'checked');

if (x.checked) {
    // Checkbox is checked
} else {
    // Checkbox is not checked
}
于 2013-07-29T01:21:57.883 に答える
-2

これが私の答えです。

$("#x").attr('checked',true);
//$("#x").prop('checked',false);

if ($("#x").attr("checked")) {
     alert("Checbox is checked");
} else {
     alert("Checkbox is not checked");
}
于 2013-07-29T01:26:13.117 に答える