51 votes

getElementById renvoie null ?

document.getElementById('id of div that definately exists') renvoie null.

J'ai initialement chargé le javascript en dernier afin de m'assurer que je n'aurais pas à m'inquiéter de l'événement onload. J'ai également essayé d'utiliser l'événement onload. C'est très effrayant. Vos idées ou votre aide seraient grandement appréciées.

70voto

cameronjroe Points 372

Faites également attention à la façon dont vous exécutez le js sur la page. Par exemple si vous faites quelque chose comme ceci :

 (function(window, document, undefined){

  var foo = document.getElementById("foo");

  console.log(foo);

})(window, document, undefined); 

Cela renverra null car vous appelleriez le document avant qu'il ne soit chargé.

Meilleure option..

 (function(window, document, undefined){

// code that should be taken care of right away

window.onload = init;

  function init(){
    // the code to be called when the dom has loaded
    // #document has its nodes
  }

})(window, document, undefined);

58voto

PanJanek Points 3764

Cela peut être causé par :

  1. Syntaxe HTML non valide (certaines balises ne sont pas fermées ou erreur similaire)
  2. ID en double - il y a deux éléments DOM HTML avec le même ID
  3. Peut-être que l'élément que vous essayez d'obtenir par ID est créé dynamiquement (chargé par ajax ou créé par script) ?

S'il vous plait, postez votre code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X