我有一个函数,我想用一个特定的数字来执行。这个数字是动态的,取决于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",等等?
发布于 2011-04-29 02:33:40
通过在这行itemNum变量前面加上var关键字来本地化您的var变量:
var itemNum = index + 1;http://jsfiddle.net/JAAulde/FnSmA/
发布于 2011-04-29 02:38:34
您需要使用关键字在each回调中声明each本地变量。
现在,所有回调都共享同一个itemNum 全局。
https://stackoverflow.com/questions/5827230
复制相似问题