2009-09-07 43 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); 
});