jQuery 1.6을 사용하는 경우 if ($(elem).attr("checked")) 코드는 체크박스 선택 여부에 관계없이 변경되지 않는 속성을 가져옵니다. 기본 또는 선택된 속성의 초기 값을 저장하는 데에만 사용됩니다. 이전 버전과의 호환성을 유지하기 위해 jQuery 1.6.1부터 .attr() 메서드는 속성 값을 반환하는 것 외에도 속성 속성도 업데이트하므로 부울 속성은 .prop()를 통해 해당 값을 변경할 필요가 없습니다. 확인된 값을 얻으려면 위 방법 중 하나를 사용하는 것이 좋습니다.
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>