Front/JS & jQuery

[jQuery] .attr() .prop() 차이

오선지♬ 2022. 5. 30. 19:15
728x90
반응형

https://devlogofchris.tistory.com/58

 

[$,JQuery] .attr()과 .prop()의 차이점

[jQuery] .attr() 과 .prop() 의 차이 jQuery 를 사용하다 보면 태그들의 속성값을 정의하거나 가져오기 위해 .attr() 함수를 사용하는 경우가 많을 것이다. 그런데 jQuery 1.6 이후 부터 .attr() 함수가 용..

devlogofchris.tistory.com

 

동적으로 생성한 selectbox를 조건에 따라 selected 속성을 주는 요소를 변경시키는 이벤트를 주어야 했는데,

적용이 처음 로딩시에만 되고 작동을 하지 않아서 구글링을 해보니

jQuery 1.6이후부터 .attr() 함수가 용도에 따라 attr()과 .prop()으로 분리된다고 되어있었다.

 

.attr()

 - html 의 속성 ( attribute )를 다룬다.

.prop()

- javascript 프로퍼티 ( property )를 다룬다.

 

.attr()로 적용하던것을 prop()으로 바꾸니 정상적으로 동작이 되었다.

내가 괄호안의 내용을 ('selected', 'true')로 하였는데, true는 property를 변경하는 것이여서 attr이 동작하지

않았던 것이었다.

.attr()로 할거면 .attr('selected', 'selected')로 해야한다.

 

selected="selected"라는 attribute를 추가할 때

➡️ .attr('selected', 'selected'); 또는 .prop('selected', true);

checked="checked"라는 attribute를 제거할 때

➡️ .removeAttr('selected'); 또는 .prop('selected', false); 

 

 

728x90
반응형