2011-04-29 42 views
0

我有一個函數,我想執行一個特定的數字。該數字是動態的,取決於元素中元素的數量。在這個例子中,假設有10個元素。如何使用jQuery的每個函數將索引號綁定到事件?

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

您正在提醒itemNum的最後一個值是不是?你可以發佈合成的html嗎? – FraserK 2011-04-29 02:35:32

回答

1

通過這條線itemNum = index + 1;前與var關鍵字進行本地化itemNum變量:

var itemNum = index + 1; 

http://jsfiddle.net/JAAulde/FnSmA/

+1

謝謝你的優秀例子。我必須更多地使用jsfiddle! – 2011-04-29 03:08:57

2

您需要使用var關鍵字在你each回調聲明本地變量。

現在,您所有的回調都共享相同的itemNum全局

相關問題