【发布时间】:2012-06-27 21:34:57
【问题描述】:
我有一个功能应该相当简单,应该在加载后完成,以减少初始加载时间。
基本上,我使用这段代码来获取所有具有“prefImg”类的元素并用它们做一些事情。但是在firebug中调试时,它说var divsList是未定义的。
function populatePrefsList()
{
var divsList = new Array();
divsList = document.getElementsByClassName("prefImg");
var x = divsList.length;
var i = 0;
for(i=0; i<divsList.length; i++) {
var imgs = divsList[i].getElementsByTagName("img");
var imgSRC = imgs[0].src;
var alt = imgs[0].alt;
var descs = divsList[i].getElementsByTagName("h4");
var desc = descs[0].innerHTML;
//var thisPref = new preference(imgSRC, alt, desc);
//prefsList[i] = thisPref;
}
}
显然我在var x = divsList.length 上有断点...
我无法理解这一点,我最初将脚本放在页面的头部,但认为它可能尚未加载 div,将其移至正文的底部。这并没有解决它。
我有var divsList = document.getElementsByClassName("prefImg");
如果有人能告诉我哪里出错了,我将不胜感激。类名为prefImg 的div 大约有50 个。
干杯
【问题讨论】:
-
您是否正在使用 Firebug 在 FF 3+ 中调试此脚本?
-
你用什么浏览器,是FF的吗?
-
是的,最新的 FF 与 Firebug 1.9.2。
-
用这个
var divsList = [];代替这个var divsList = new Array();
标签: javascript html