我对 jquery 有这个小问题:我需要做这样的事情:
$(document).ready(function(){
links = {};
links.a = "Link a";
links.b = "Link b";
links.c = "Link c";
for (x in links){
$("#" + x).css("border","1px solid #000");
$("#" + x).click(function(){
alert(x);
});
}
});
</script>
<div id="a">a</div><br />
<div id="b">b</div><br />
<div id="c">c</div><br />
这样,当您单击 div#a 时,您将收到“Link a”警报,在 div#b 上获得“Link b”等等...问题是,如果您运行此代码,单击每个元素都会发出警报( "Link c") 结果,似乎只有最后一个函数变体被分配给每个 div...
当然,我可以通过编辑函数以使用 div 的 id 并使用 $(this) 来破解它,但是出于好奇:有没有办法让这个循环工作?通过为函数中的每个元素创建和分配一个新函数?
提前谢谢...