Способ навесить действие через "on..." не важно "onclick" это или "onload" постоянно переписывается, лучше пользоваться addEventListener, которые можно добавлять сколько угодно и все они будут работать вместе, а от onclick и onload совсем отказаться. Вот пример:
window.addEventListener("load",()=>{
//код
});
И да, если добавлять вызов скриптов в самый конец HTML-документа, то все элементы спокойно будут кверится без всяких использований эвентов(видимо с чем у вас и возникла проблема, когда вы решили воспользоваться onload).