jQuery를 사용하여 요소를 효과적으로 비활성화 및 활성화하는 방법: attr()과 prop()의 차이점 이해
문제:
처음에는 입력을 비활성화하고 링크를 클릭하면 활성화하려고 시도했지만 현재 jQuery 솔루션이 작동하지 않습니다.
HTML:
<code class="html"><input type="text" disabled="disabled" class="inputDisabled" value=""></code>
jQuery:
<code class="javascript">$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').removeAttr("disabled") });</code>
원인:
removeAttr()을 사용하여 제거하고 있습니다. 그러나 이 접근 방식에는 특히 "disabled"와 같은 부울 속성의 경우 제한이 있습니다.
해결책: attr() 대신 prop() 사용
부울 속성의 경우 attr() 대신 prop() 메서드를 사용하는 것이 좋습니다. 이 메서드는 부울 속성에 더 효율적이고 적합한 요소의 기본 속성 값을 명시적으로 수정합니다.
업데이트된 jQuery:
<code class="javascript">$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); // Element(s) are now enabled. });</code>
이유 부울 속성에 대한 attr()에 대한 prop()?
참고: 이전 jQuery 버전 3.0에서는 부울 속성의 RemoveAttr()도 해당 속성을 false로 설정합니다. 이 동작은 이후 버전에서 더 이상 사용되지 않으며 부울 속성에 prop()을 사용하는 것의 중요성이 강조됩니다.
위 내용은 jQuery를 사용하여 요소를 비활성화 및 활성화하는 최적의 방법은 무엇입니까: 부울 속성에 대한 prop() 대 attr()?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!