【发布时间】:2011-12-26 19:30:24
【问题描述】:
我有一个在 javascript 中运行的 for 循环。在这个循环中,我正在创建一个列表项并将单击事件绑定到它。当我单击此列表项时,我希望它以当前循环对象中的数据作为参数调用函数。
问题是,无论我点击什么列表项。作为参数传递的数据是我正在循环的对象的最后一个元素,而不是当前被单击的元素。
for(e in data) {
var suggestItem = $('<li>'+ data[e]['name'] +'</li>');
suggestItem.click(function() {
$(this).addClass('activeSuggestion');
suggestSelect(suggestField, data[e]);
});
suggestList.append(suggestItem);
}
我想我明白为什么会发生这种情况,但不知道应该如何处理。
【问题讨论】:
标签: javascript jquery loops