我正在从外部 API 中提取一些数据,然后将其显示在仪表板页面中。为此,我会在处理完数据后生成 DOM 元素,如下所示:
for(var key in companies) {
$(document.createElement("span"))
.attr({ id: key })
.appendTo($("#someDiv"))
.click(function() {
alert(key);
});
$("#"+key).html("<b>" + key + "</b>: $"+companies[key]+"<br>");
}
但是,当我单击任何新生成的span
元素时,我会收到一个警报,其中包含companies
. 例如,如果我声明:
var companies = {
"Google": 3,
"Apple": 4
};
然后点击谷歌span
和苹果span
都会提醒4
。我想要的行为是点击 Googlespan
来提醒3
。