document.getElementById sta tornando nullo
-
30-09-2019 - |
Domanda
Ecco il relativo codice HTML:
<div id="navcontainer">
<ul id="navlist">
<li><a href="#tab1">Item one</a></li>
<li><a href="#tab2">Item two</a></li>
<li><a href="#tab3">Item three</a></li>
<li><a href="#tab4">Item four</a></li>
<li><a href="#tab5">Item five</a></li>
</ul>
</div>
Il contenuto di vertical.js
function tabber() {
var li = document.getElementById("navcontainer");
var as = document.getElementById('navlist');
return;
}
window.onload = tabber();
Quando viene eseguita la funzione Tabber (), la funzione di chiamata a document.getElementById rendimenti nullo. Perché? L'elemento navcontainer sicuramente esiste. Eventuali indizi?
Soluzione
Eh, il diavolo è nei dettagli. Si stanno facendo un errore durante l'assegnazione dell'evento onload
.
window.onload = tabber();
assegnerà il risultato di tabber()
alla proprietà onload
. Tabber () viene eseguito immediatamente e non onLoad .
Cambia a
window.onload = function() { tabber(); }
che il lavoro volontà.
Altri suggerimenti
Si sta chiamando la funzione Tabber in modo non corretto del carico finestra.
Cambia a
window.onload = tabber;
forse il fatto che si sta utilizzando la parola chiave JS 'come', come una variabile è il problema. rimuovere quella prima.