如何使用jQuery'将索引号绑定到事件;每个功能是什么?
我有一个我想用特定数字执行的函数。该数字是动态的,取决于ul元素中的元素数量。在本例中,假设有10个li元素如何使用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);
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!