如何使用jQuery'将索引号绑定到事件;每个功能是什么?

如何使用jQuery'将索引号绑定到事件;每个功能是什么?,jquery,dynamic,binding,each,Jquery,Dynamic,Binding,Each,我有一个我想用特定数字执行的函数。该数字是动态的,取决于ul元素中的元素数量。在本例中,假设有10个li元素 function alertThisNum(itemNum) { alert(itemNum); } $('ul li').each(function(index) { itemNum = index + 1; $("a#" + itemNum).bind("click", function() { alertThisNum(itemNum);

我有一个我想用特定数字执行的函数。该数字是动态的,取决于ul元素中的元素数量。在本例中,假设有10个li元素

function alertThisNum(itemNum) {
    alert(itemNum);
}

$('ul li').each(function(index) {
    itemNum = index + 1;
    $("a#" + itemNum).bind("click", function() {
        alertThisNum(itemNum);
    });
});
问题是,itemNum总是最后一个数字。它将数字10绑定到所有链接


如何使a.1发出警报“1”,如何使a.2发出警报“2”,等等

通过在这一行前面加上
itemNum=index+1,本地化您的
itemNum
变量带有
var
关键字:

var itemNum = index + 1;

通过在这一行前面加上
itemNum=index+1,本地化您的
itemNum
变量带有
var
关键字:

var itemNum = index + 1;

您需要使用
var
关键字在
每个
回调中声明一个本地变量


现在,您的所有回调都共享相同的
itemNum
global您需要在
每个
回调中使用
var
关键字声明一个local变量


现在,您的所有回调都共享相同的
itemNum
global

您正在提醒itemNum的最后一个值,不是吗?你也可以发布结果html吗?你正在提醒itemNum的最后一个值,不是吗?你能把结果的html也贴出来吗?谢谢你提供了一个很好的例子。我必须更多地使用JSFIDLE!谢谢你提供了一个很好的例子。我必须更多地使用JSFIDLE!