jquery에 동적으로 이벤트 붙일 경우..
프로그래밍/웹 쪽2009. 10. 23. 17:56
결과를 json으로 받아서 js로 html작성 하여 이벤트를 붙일 경우..
일반적으로 생각하면
for ( var i = 0; i < data.length; i++)
로 결과만큼 돌면서
$( '#element'+i).live( 'click', function() {
여기에 $( '#target'+i).hide()
이렇게 적용하면 될것 같지만 안된다..
});
맨 마지막꺼나 맨 처음것에만 적용이 되는데..
이런때는
$( '#target'+i).hide()이렇게 하지 말고
$( this).parent().parent().parent().parent().find( '#target').hide()
로 selector를 사용해서 타겟을 찾아낸 다음에 적용할 수 있도록 하자.
어우~~ css레이아웃은 머리 아파 ~_~
추가로.. ID는 고유한 것이기 때문에 반복문에서 target element를 생성하고 $( '#target').hide()이렇게 효과를 주지 말고 css class를 지정해서 selector로 css class를 검색 하여, 효과를 주자.
일반적으로 생각하면
for ( var i = 0; i < data.length; i++)
로 결과만큼 돌면서
$( '#element'+i).live( 'click', function() {
여기에 $( '#target'+i).hide()
이렇게 적용하면 될것 같지만 안된다..
});
맨 마지막꺼나 맨 처음것에만 적용이 되는데..
이런때는
$( '#target'+i).hide()이렇게 하지 말고
$( this).parent().parent().parent().parent().find( '#target').hide()
로 selector를 사용해서 타겟을 찾아낸 다음에 적용할 수 있도록 하자.
어우~~ css레이아웃은 머리 아파 ~_~
추가로.. ID는 고유한 것이기 때문에 반복문에서 target element를 생성하고 $( '#target').hide()이렇게 효과를 주지 말고 css class를 지정해서 selector로 css class를 검색 하여, 효과를 주자.