我想追加一個Div的數字與一個ID「列表」的股利,每個股利有一個事件,所以我做一個數組爲每個div被追加。 這是我的代碼。jQuery追加與事件綁定
var count = Object.keys(data.results).length;
var el = [];
for(var i=1; i<=count; i++){
el[i] = $('<div id="'+i+'">data.results[i].name</div>');
$("#list").append(el[i]);
el[i].click(function(){
alert(data.results[i].name);
$('#searchbox').modal('toggle');
});
}
div中的數據已成功追加。但爲了在綁定到每個div的事件中嘗試提醒數據,它不會警告div中的數據。
我想要做的是在帶有id「list」的div內附加名稱,如果我點擊一個名稱,它應該提醒名稱本身。
我觀察到的另一件事是,如果我提醒該聲明在for循環變量「我」,就是例如附加的結果是5名。所以如果我點擊第一個名字,它應該提醒1,而不是提醒5.我很困惑。 –
相關:[JavaScript閉合內循環 - 簡單實用的例子](https://stackoverflow.com/questions/750486/javascript-closure-inside-loops-simple-practical-example) - 'click''函數將評估'i'表示事件發生時的值,這是'for'循環已經完成遞增'i'直到它等於'count'後的值。 (另一種方法是使用['let i'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let)來代替'var i',但注意它的瀏覽器支持。) –
@JonathanLonowski ok。我明白這一點。 –