jquery attr & prop -- JQuery



기존 jQuery 사용하던 방식대로 1.6에서도 그대로 사용하다가 중간중간 함수가 먹지않는 경우가 종종 있다. 대표적으로 inputtype="text" 의 readonly 속성의 경우 기존엔.attr("readonly", true) 형태로 사용했었는데 true는 적용되는데이상하게 false 또는 removeAttr 함수가 적용되지 잘 되지 않는다.


2일을 구글링 한결과...

1.6에서는 기존의 attr()로 처리되었던 것을 attr()과 prop()로 분리 처리되게 되었음을 알게됨.  에혀...


.prop()

 

Categories:Attributes | Manipulation > General Attributes

 

prop( propertyName  )

 .prop( propertyName )

 

prop( propertyName , value )

 .prop( propertyName, value )

 .prop( map )

 .prop( propertyName, function(index,oldPropertyValue) )


.attr()과 .prop()사용에 관한 구분


Attribute/Property

.attr()

.prop()

accesskey

 

align

 

async

autofocus

checked

class

 

contenteditable

 

defaultValue

 

draggable

 

href

 

id

 

label

 

location *

multiple

nodeName

 

nodeType

 

readOnly

rel

 

selected

selectedIndex

 

src

 

style

 

tabindex

 

tagName

 

title

 

type

 

width **

 



prop의사용은 설정과 해제 시 동일하게 적용해야 한다.

 =>동일 한 아이디의 readonly 설정은 attr 로 하고 해제는 prop으로 하게되면 적용이 안됨 :: 설정도 prop으로 설정해야


출처 : http://blog.naver.com/windil?Redirect=Log&logNo=161206296


덧글

  • 지나가던개발자 2013/07/08 14:39 # 삭제 답글

    아..정말 감사합니다...1.9.0사용중인데 체크박스 체크가 attr로 안되서 미친듯 고민하고있었어요..ㅠㅠ
    rop으로 수정후..ㅠㅠ내 24시간을 돌리도~ㅠㅠ
    그럼 수고하세요
  • 어린왕자 2013/07/08 15:48 # 답글

    저도 퍼온건데요. 도움이 되셨다니 다행입니다.
댓글 입력 영역



20140817_300_250

통계 위젯 (화이트)

48227
1037
1030811