我正在创建新的< li>具有live()单击功能的元素,但jquery不会告诉我新创建的元素的索引。这是代码:
$esl = $('.dynamicLink');
$esl.live('click',function(){
var dynamicIndex = $esl.index(this);
alert(dynamicIndex);
});
每当我单击dynamicLink时,它都会返回“-1”作为索引。有什么建议吗?
答案 0 :(得分:7)
由于live
使用事件委派将事件“绑定”到未来的元素,因此您需要在最新的元素列表上调用index
。试试这个:
$esl = $('.dynamicLink');
$esl.live('click',function(){
var dynamicIndex = $('.dynamicLink').index(this);
alert(dynamicIndex);
});