2009-09-07 6 views
5

live() 클릭 기능을 사용하여 새 < li> 요소를 만들고 있지만 jquery가 새로 만든 요소의 인덱스를 알려주지 않습니다. 코드는 다음과 같습니다.라이브 함수 내에서 요소의 인덱스 찾기

$esl = $('.dynamicLink'); 
    $esl.live('click',function(){ 
     var dynamicIndex = $esl.index(this); 
     alert(dynamicIndex); 
    }); 

동적 링크를 클릭 할 때마다 "-1"이 색인으로 반환됩니다. 어떤 제안?

답변

7

live은 이벤트 위임을 사용하여 이벤트를 이후 요소에 "바인딩"하기 때문에 최신 요소 목록에 index을 호출해야합니다. 사용해보기 :

$esl = $('.dynamicLink'); 
$esl.live('click',function(){ 
    var dynamicIndex = $('.dynamicLink').index(this); 
    alert(dynamicIndex); 
});