jQuery 1.6 を使用する場合、コード if ($(elem).attr("checked")) は、チェックボックスが選択されているかどうかに関係なく変化しない属性を取得します。これは、デフォルトまたは選択されたプロパティの初期値を保存するためにのみ使用されます。下位互換性を維持するために、jQuery 1.6.1 以降の .attr() メソッドは、属性値を返すだけでなく、プロパティ属性も更新するため、.prop() を介して boolean 属性の値を変更する必要はありません。上記のいずれかの方法を使用して、checked の値を取得することをお勧めします。
jQueryのattrメソッドを使ってチェックボックスの「checked」属性を取得、設定するのですが、htmlソースファイルを見ると、最初は全選択/非選択が有効であることが分かります。 、チェックボックス属性は確かに更新されましたが、ページは更新されません。正しい方法は次のとおりです。
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.min.js"></script><script type="text/javascript">// <![CDATA[ $(function(){ $('.ckAll').click(function(){ $(".box-items").each(function(){ $(this).prop("checked",!!$(".box-all").prop("checked")); }); }); }); // ]]></script> <div><label class="ckAll"><input class="box-all" type="checkbox" /><span>全选</span></label> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> <input class="box-items" type="checkbox" /> </div>