У меня есть этот код цикла, чтобы уменьшить вызовы DOM в моем JavaScript и использовать их повторно.
aarr = [];
for (var z=1; z<=10; z++) {
c = z-1;
aarr[c] = document.getElementById("a"+z);
}
Мне было показано, что если код запускается до завершения DOM, массив становится нулевым. Перемещение скрипта после последнего HTML-кода будет работать.
Итак, теперь я хочу поместить этот код в событие window.onload
, чтобы не пришлось перемещать код сценария вниз страницы. Но это, очевидно, не работает, потому что кажется, что цикл массива выполняется до завершения DOM.
window.onload=function(){
var aarr = [];
for (var z=1; z<=10; z++) {
c = z-1;
aarr[c] = document.getElementById("a"+z);
}
}
Кроме того, я попытался удалить «var» для удаления области видимости, не делая различий.