jquery 1.6에 새로운 메소드 prop()이 추가되었습니다. 저는 그것을 사용해본 적이 없습니다. 공식적인 설명은 단 한 문장입니다: 일치하는 요소 세트에서 첫 번째 요소의 속성 값을 가져옵니다.
일부 브라우저는 비활성화됨과 확인됨만 작성하면 되는 반면, 다른 브라우저에서는 체크박스의 확인됨 속성을 가져오기 위해 attr("checked")를 사용할 때와 같이 비활성화 = "비활성화", 확인됨="체크됨"으로 작성해야 한다는 것을 누구나 알고 있습니다. 선택하면 값을 얻을 수 있습니다. 값은 "체크"되지만 선택하지 않을 때 얻은 값은 정의되지 않습니다.
jq는 이 문제를 해결하기 위해 이러한 속성을 가져오는 새로운 메소드 "prop"를 제공합니다. 과거에는 checked 속성을 가져오기 위해 attr을 사용할 때 이제 prop을 사용할 때 "checked"와 ""를 반환했습니다. 속성을 가져오는 메서드를 사용하면 true와 false를 균일하게 반환합니다.
그럼 언제 attr()을 사용하고 언제 prop()을 사용합니까?
1. 속성 이름을 추가하면 해당 속성이 적용됩니다.
2. true와 false 두 가지 속성이 있는 경우에는 prop();
을 사용합니다. 속성을 사용하려면 attr();
프로젝트에서 jquery를 업그레이드할 때 모두가 이 점에 주의해야 합니다!
다음은 attr() 및 prop() 사용에 대한 공식적인 권장 사항입니다.
Attribute/Property | .attr() |
.prop() |
---|---|---|
accesskey | √ | |
align | √ | |
async | √ | √ |
autofocus | √ | √ |
checked | √ | √ |
class | √ | |
contenteditable | √ | |
draggable | √ | |
href | √ | |
id | √ | |
label | √ | |
location ( i.e. window.location ) | √ | √ |
multiple | √ | √ |
readOnly | √ | √ |
rel | √ | |
selected | √ | √ |
src | √ | |
tabindex | √ | |
title | √ | |
type | √ | |
width ( if needed over .width() ) |
√ |