Comment obtenez-vous des éléments à partir d'un javascript HTMLCollection

Je ne comprends pas pourquoi je ne peux pas obtenir les éléments d'un HtmlCollection. Cet exemple de code:

 var col = (document.getElementsByClassName("jcrop-holder"));
 console.log(col);

produit de cette sortie sur la console:

Comment obtenez-vous des éléments à partir d'un javascript HTMLCollection

Je vais essayer d'obtenir la dic.jcrop porte-objet, mais je ne peux pas l'obtenir à partir de ma variable col. Rien de tout cela fonctionne:

  console.log(col[0]); //undefined
  console.log(col.item(0)); //null

  //check length of collection

  console.log(col.length); //0

Donc, si la longueur est de 0 pourquoi la console de montrer une longueur de 1, ainsi que les objets à l'intérieur? Quand j'ai ouvert le nœud qu'il contient des enfants. Ce qui se passe?

Voici quelques nœuds développés. Je n'ai pas d'élargir div.jcrop.titulaire car il est trop long. Ici sont les enfants des éléments:

Comment obtenez-vous des éléments à partir d'un javascript HTMLCollection

Essayez document.getElementsByClassName("jcrop-holder")[0] et document.querySelector(".jcrop-holder")
Vous devez nous montrer ton code complet (ou au moins la partie que vous utilisez console.log et celui où vous essayez de l'utiliser. Vous avez l'impression de changer de classe entre le moment où vous vous connectez à la console et le temps que vous essayez de l'utiliser.
getElementsByClassName renvoie un live collection. Le petit bleu i dans la console indique que le tableau sera évaluée lorsque vous développez. Il y a clairement quelque chose qui se passe entre vous de la récupération de la collecte et de l' console.loging les propriétés, et vous en fait l'inspection de la collection dans la console.
Un avis, que console fonctionne de manière asynchrone. Essayez de changer quelque chose dans col[0] en dépit de la console en disant que c'est undefined.
Je suis confronté à la même question, une autre réponse à cette question ?

OriginalL'auteur Michał Ziembiński | 2015-10-02