2009-09-07 5 views
5

Je crée de nouveaux éléments li> < avec une fonction de clic direct(), mais jquery ne me dira pas l'index des éléments nouvellement créés. Voici le code:Recherche de l'index d'un élément dans une fonction en cours

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

Chaque fois que je clique sur le lien dynamique, il renvoie "-1" comme index. Aucune suggestion?

Répondre

7

Parce que live utilise la délégation d'événements pour "lier" les événements aux éléments futurs, vous devez appeler index sur une liste d'éléments à jour. Essayez ceci:

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