我有一个我想用特定号码执行的功能。该数字是动态的,具体取决于 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”,依此类推?
答案 0 :(得分:2)
您需要使用each
关键字在var
回调中声明本地变量。
目前,您的所有回调都是共享相同的itemNum
全球。
答案 1 :(得分:1)
使用itemNum
关键字在此行itemNum = index + 1;
之前将var
变量本地化:
var itemNum = index + 1;