document.getElementById retourne null
-
30-09-2019 - |
Question
Voici le code HTML correspondant:
<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>
Le contenu de vertical.js
function tabber() {
var li = document.getElementById("navcontainer");
var as = document.getElementById('navlist');
return;
}
window.onload = tabber();
Lorsque la fonction tabber () est exécutée, l'appel de fonction document.getElementById renvoie la valeur NULL. Pourquoi? L'élément navcontainer existe sans aucun doute. Des indices?
La solution
Heh, le diable est dans le détail. Vous faites une erreur en attribuant l'événement onload
.
window.onload = tabber();
assignera Résultat de tabber()
à la propriété onload
. Tabber () est exécuté tout de suite et non onload .
Modifier à
window.onload = function() { tabber(); }
qui fonctionne.
Autres conseils
Vous appelez la fonction tabber de façon incorrecte sur la charge de la fenêtre.
Modifier à
window.onload = tabber;
peut-être le fait que vous utilisez le mot-clé JS « comme » en tant que variable est le problème. supprimer cette première.