>  기사  >  웹 프론트엔드  >  jQuery_jquery의 .attr() 및 .prop() 문제에 대한 토론

jQuery_jquery의 .attr() 및 .prop() 문제에 대한 토론

WBOY
WBOY원래의
2016-05-16 17:23:251076검색

그건 그렇고, 몇 줄의 코드를 작성했는데 IE8에서는 정상적으로 실행되지만 Chrome과 FF에서는 실행되지 않습니다. 내 친구가 이것이 RP라고 해서 우울합니다!

실제로 기능 요구 사항은 다음과 같습니다. 두 개의 라디오: 남성과 여성, 하나의 버튼: 재설정. 시작 페이지에서는 기본적으로 남성을 선택합니다. 사용자가 여성을 선택하고 재설정 버튼을 클릭하면 기본 상태로 복원되어야 합니다.

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



🎜>
내 js 코드는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
$("#reSet").click(function() {
 $("input[name='sex']:first").attr("checked",true);
});

결과는 처음에 여러 사람에게 물어봤는데 명확하게 설명할 수 없었습니다. 나중에 API를 확인해보니 .prop() 메소드가 있었습니다. jQuery1.6 버전에 추가되었습니다. .attr()과 다르지 않은 것 같습니다. 둘 다 속성 값을 가져오고 설정하는 데 사용할 수 있습니다. 나중에 .prop() 메서드가 부울 값 속성에 적합하다는 것을 알게 되었습니다. 공식적인 설명은 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked 및 defaultSelected 속성에 .prop() 메서드가 필요하다는 것입니다. 또한 인터넷에는 "속성 이름을 추가하면 해당 속성이 적용됩니다. .prop()를 사용해야 합니다"라고 말하는 사람들이 많이 있습니다. 다른 속성은 확인하지 않았지만 "checked" 속성은 다음과 같은 경우에 적용됩니다. 추가되었습니다. 따라서 두 개의 빨간색 점은 .attr()과 .prop()의 차이여야 합니다.

그러므로 위의 클릭 이벤트 메소드의 코드를 다음과 같이 변경하세요.

코드 복사 코드는 다음과 같습니다.
$("input[name='sex ']: first").prop("checked",true);

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