我有一個相當簡單的函數,應該在加載後完成,以減少初始加載時間。Javascript document.getElementsByClassName returns undefined
基本上我使用這段代碼來獲得類「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");
如果有人可以告訴我哪裏出了問題,然後我將不勝感激。有大約50個div類名prefImg
。
乾杯
你在FF調試這個腳本3+使用螢火蟲? – Li0liQ
你使用哪個瀏覽器,是FF嗎? – Bergi
是啊最新的FF與Firebug 1.9.2。 –