2009-09-07 4 views
5

Estoy creando elementos nuevos < li> con una función de clic en vivo(), pero jquery no me dirá el índice de elementos recién creados. Aquí está el código:Encontrar el índice de un elemento dentro de una función en vivo

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

Cada vez que hago clic en dynamicLink, devuelve "-1" como índice. ¿Alguna sugerencia?

Respuesta

7

Dado que live usa la delegación de eventos para "enlazar" eventos a elementos futuros, debe llamar al index en una lista actualizada de elementos. Pruebe esto:

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