<script> <br>//선택 여부 확인<br>var isChecked = $( '#cb' ).attr('checked'); <br><br>//체크됨<br>$('#cb').attr('checked',true); ; <br> <br> </div>JQ1.6 이전에는 이와 같이 작성하는 것이 문제가 되지 않았지만 JQ1.6을 상위 버전으로 업그레이드하면 다음과 같은 문제가 발생합니다. <br>$('# cb ').attr('checked'); 반환되는 내용은 원래의 true 및 false가 아니라 확인되거나 정의되지 않은 것입니다. <br>그리고 확인된 속성은 페이지 초기화 시 초기화되었으며 상태 변경에 따라 변경되지 않습니다. 따라서 처음에 확인란을 선택하면 selected가 반환되고, 처음에 선택하지 않으면 undefound가 반환됩니다. <br><br><br>해결 방법은 다음과 같습니다. <strong> </strong><br><div class="codetitle"><span><a style="CURSOR: pointer" data="92279" class="copybut" id="copybut92279" onclick="doCopy('code92279')">코드 복사<u></u></a> 코드는 다음과 같습니다.</span></div> <div class="codebody" id="code92279"><input type='checkbox' id='cb'/> <br><script> <br>//선택 여부 확인<br>var isChecked = $(' #cb').prop('checked'); <br>//또는 <br>var isChecked = $('#cb').is(":checked"); $('#cb ').prop('checked',true); <br></script>
이유를 분석하면 다음과 같습니다.
"속성"과 "특성"을 구분합니다. 속성은 "이름, ID" 등을 참조하고, 특성은 "selectedIndex, tagName, nodeName" 등을 참조합니다. JQ1.6 이후에는 attr 메소드를 통해 속성을 얻고 prop 메소드를 통해 특성을 얻을 수 있습니다.