>  기사  >  웹 프론트엔드  >  Jquery attr("checked")는 선택된 valid_jquery를 가져오기 위해 확인됨 또는 정의되지 않음을 반환합니다.

Jquery attr("checked")는 선택된 valid_jquery를 가져오기 위해 확인됨 또는 정의되지 않음을 반환합니다.

WBOY
WBOY원래의
2016-05-16 17:20:30919검색

이제 다음과 같은 시나리오가 필요하다고 가정해 보겠습니다. 페이지에 확인란이 있고 Jquery를 통해 선택되었는지 아니면 Jquery를 통해 선택되도록 할 것인지를 기대합니다.
JQ1.6 이전 버전에서는 다음과 같이 코드를 작성했습니다.

코드 복사 코드는 다음과 같습니다.


<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 메소드를 통해 특성을 얻을 수 있습니다.



코드 복사 코드는 다음과 같습니다. $("#cb").attr("tagName"); //정의되지 않음
$("#cb").prop("tagName"); //입력

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.