>  기사  >  웹 프론트엔드  >  확인된 attribute_jquery를 수정할 때 jQuery에서 attr()과 prop()의 차이점

확인된 attribute_jquery를 수정할 때 jQuery에서 attr()과 prop()의 차이점

WBOY
WBOY원래의
2016-05-16 16:41:371368검색

체크박스 선택 버튼을 만들 때 $.attr('checked',true) 문을 사용하여 체크박스 속성을 선택함으로 변경하는 문제가 발생했습니다. 첫 번째 클릭 후에는 작동하지 않습니다. IE8에는 문제가 없습니다.

바이두는 그 이유를 알아보는데 HTML의 속성이 속성과 속성으로 구분되어 있기 때문입니다.

checked 속성은 attribute->checked, property->true, false로 구분됩니다.

체크박스의 경우 selected="checked"가 정의되지 않은 경우 Alert($.attr("checked"))의 결과는 정의되지 않습니다. 정의된 경우 결과가 확인됩니다. 확인란의 상태가 변경되더라도 속성은 변경되지 않습니다.

prop($.attr("checked"))를 사용하면 출력은 각각 false와 true가 됩니다. 속성은 변경됨에 따라 변경됩니다.

따라서 selected 속성을 수정할 때는 prop()을 사용해야 합니다. prop()은 jQuery 1.6 이후에 추가되었습니다.

인터넷상의 다른 유사한 부동산에 대한 차트:

또한 IE9 이전 버전에서는 DOM 요소가 제거되기 전에 속성이 삭제되지 않으면 .prop() 메서드를 사용하여 DOM 요소 속성의 값을 설정합니다(단순 유형 제외: 숫자, 문자열, 부울) ) 메모리 누수가 발생합니다. DOM 객체의 값을 안전하게 설정하고 메모리 누수를 방지하려면 .data() 메서드를 사용할 수 있습니다. 아직 접해보지 못해서 여기에 적어보겠습니다.

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