1

コード:

<input type="checkbox" id="test1" class="check" checked="">
<input type="checkbox" id="test2" class="check" checked="">
<input type="checkbox" id="test3" class="check" checked="">
<input type="checkbox" id="test4" class="check" checked="">

    <button class="start">Click</button>

$(".start").click(function(){

alert($("#test1").attr("checked"));

});

チェックボックスtest1 alert show checkedのチェックを削除すると、なぜですか?

JsFiddle でのテストはこちら

4

4 に答える 4

2

チェックボックスがチェックされている場合にアラートを実行する場合は、次を使用します。

if ($("#test1").is(':checked') ) {alert("yes")}

はこちら

$(".start").click(function(){
   if ($("#test1").is(':checked') ) {alert("yes")}    
});
于 2013-07-03T21:51:19.787 に答える
1

これは、静的 HTML をテストしているためだと思います。

チェックされたプロパティをテストする場合は、代わりに使用します

alert($("#test1").prop("checked"));

これにより、次のいずれtrueかが得られますfalse

ところで:属性は存在するかchecked="checked"、まったく存在しない必要があります。

于 2013-07-03T21:48:22.427 に答える
1

あなたは混乱.attrしてい.propます。ここで使用する必要があります.prop

alert($("#test1").prop("checked"));

要素のattributeは、マークアップによって設定されるものであり、変更することはできません。Apropertyは現在の状態を反映しています。以前のバージョンの jQuery では実装に混乱がありましたが、現在は解決されています。その結果、一部のオンライン リソースにはまだ誤りがあります。

于 2013-07-03T21:48:59.203 に答える