프론트엔드-코드/JQuery

prop()

sdafdq 2023. 7. 25. 15:18

attr은 속성값 그 자체로,

 

prop()는 bool식으로 제어용도로 사용함. 그래서 checked나 disable 같은 bool 형식이 값인 속성을 다룰 때 많이 사용.

 

  $('input:checkbox').eq(0).attr('checked','checked');
  $('input:checkbox').eq(1).prop('checked', true);

근데, 

  $('input:checkbox').eq(1).attr('checked', true);

이것도 되긴 함..

 

이 둘의 차이는, attr은 true를 문자열로 전달한다고 함. 이 bool속성이 아닌 문자열이 브라우저 호환이라던지 문제가 있을 수 있다고 함.

 

그리고, html에서 checked나 disabled같은 bool속성은 일반적으로 값이 있는게 아니라 존재 유무에 따라 설정됨.

 

차이점은

  $('input:checkbox').eq(1).attr('checked', true);

<input type="checkbox" checked="true">

 

 

  $('input:checkbox').eq(1).prop('checked', true);

<input type="checkbox" checked>

로 더 명확함.

 

그래서 일반적으로 bool 속성을 다룰 때는 암묵적으로, prop()를 사용함.

'프론트엔드-코드 > JQuery' 카테고리의 다른 글

offset(), position()  (0) 2023.07.25
css()  (0) 2023.07.25
attr  (0) 2023.07.25
html()  (0) 2023.07.24
메소드  (0) 2023.07.21