我有这样的情况: 有 DIV块与像“rateN_wrapper”哪里是“N”的ID是div的数量:灌装阵列数字
<div id="rate1_wrapper">
<a href="#" id="0_1">...</a>
<a href="#" id="0_2">...</a>
<a href="#" id="0_3">...</a>
</div>
<div id="rate2_wrapper">
<a href="#" id="1_1">...</a>
<a href="#" id="1_2">...</a>
<a href="#" id="1_3">...</a>
</div>
...
var ratings = new Array();
for (i=0; i < 8; i++)
{
ratings[i] = -1; // Default is unrated
}
for (i=0; i < 8; i++)
{
$('#rate' + i + '_wrapper a').click(function() {
ratings[i] = parseInt($(this).attr('id').split('_')[1]);
console.debug(ratings);
});
}
我的工作是填写数组需要放置点击链接的id(解析)。但它总是只改变数组(8)的最新元素。为什么?
这也有可能完全被使用jQuery。每(),它可能会更清楚 – 2010-05-19 20:24:14
这并没有帮助我避免for循环。 – Ockonal 2010-05-19 20:29:54
其实,想想吧,如果你在匿名函数体内声明var idx = i而不是外部循环体,第一个例子会工作... – 2010-05-19 20:30:02