원소 속성에 값을 넣어줄때 JQuery의 attr과 prop 함수를 사용합니다. 이 둘은 비슷하면서 많이 다릅니다. 용도에 맞게 사용을 해야지 안그러면 저 처럼 삽질을 하게 될수 있습니다.


attr 함수를 이용해 특정 원소에 true, false 값을 줘서 체크 하고 있었는데, attr의 경우 리턴값이 무조건 string으로 넘어오는 것을 모르고, 현재 속성 값이 false인데 왜 조건문에서 계속 true로 빠지는지 고민 하고 있었습니다. JQuery의 문서를 보니 attr의 리턴값이 string이라는 것을 보고나서야 문제를 알아낼 수 있었죠. ( 죄다 var, var, var, var로만 변수를 관리하니 이게 string인지 boolean인지... )


위와 같이 true, false를 이용한 체크를 할대는 prop 함수를 사용해야 합니다. 아래는 JQuery의 attr과 prop의 문서 일부입니다. 참고하세요.





위와 같은 경우 prop을 사용하는 것이 좋지만, 문자열 'true', 'false' 로 조건문을 사용할때는 아래와 같이 === 연산자를 이용해 비교 하는 방법도 있습니다.


if( 'true' === myValue )


출처 : http://api.jquery.com/attr/, http://api.jquery.com/prop/

+ Recent posts