初期ロード時間を短縮するために、かなり簡単で、ロード後に実行する必要がある関数があります。
基本的に、このコードを使用して、クラス「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");
誰かが私が間違っている場所を教えてくれたら、私は感謝します. className を持つ約 50 の div がありますprefImg
。
乾杯