我有通过循环运行的代码,并且有些工作是某个段的某个id的子代。所以为了帮助自己,我做了一个小功能来抓住孩子:
function GetChildTagById(par,tag,id){
var divs = par.getElementsByTagName(tag);
for(i=0;i<divs.length;i++){
if(divs[i].id==id){
return divs[i];
}
}
}
并做了一些工作:
var bar = new Array();
for(i=0;i<somelist.length;i++){
var foo =GetChildTagById(group,'div',id[i]);
DoWork(foo);
bar[i] = foo;
}
但稍后当我尝试访问数组时,它表明这些元素不存在。当我查看日志中的数组时,它的值为0和177,两者之间没有任何值。什么可能导致这种情况?
答案 0 :(得分:0)
i
变量的闭包有些如何做不到预期的事情。可以通过在for循环中键入var i=0
而不是i=0
来解决此问题。