7
votes

JavaScript getelementsbyclassname () renvoie toujours aucun?

Je veux créer le signet le plus simple pour mon navigateur.

javascript:document.getElementsByClassName('source').style.visibility='visible';


0 commentaires

3 Réponses :


0
votes

Il y a "visibilité" et il y a "affichage". Ce sont des bêtes très différentes.

w3schools:

Visibilité

Afficher


1 commentaires

cela ne change rien. Ma console me dit: Couvent TypeError: impossible de définir la propriété 'Affichage' de indéfini



21
votes

Vous pourriez avoir besoin de boucler les résultats, comme celui-ci: xxx

et aussi comme @ionoy mentionné, utilisez l'attribut Affichage . J'espère que cela aide.

http://jsfiddle.net/erick/rb7bn/ 1 /


2 commentaires

JavaScript: (fonction () {var divs = document.getelementsbyclassname ("source"); pour (var i = 0; i


foreach est un peu plus propre, peut-être. document.getelementsbyclassname ("source"). foreach (fonction (elem) {elem.style.display = 'block'}) (ou aucun quand il s'agit de DANGÉ Les blogs des flocons de snowflakes d'animation gênants sont sportifs en ce moment)



0
votes

aller pour affichage . Cela fonctionne bien avec de nombreux navigateurs et dans de nombreux cas.


1 commentaires

Tourner la "visibilité" se comporte de la même manière que la définition de l'opacité à zéro: le contenu devient invisible pendant que la mise en page ne change pas; Ou dire la même chose une manière différente, il y a maintenant un espace vide. Ceci est presque jamais ce que vous voulez. D'autre part, le tournant "Affichage" désactive provoque une refusion / relais comme si l'élément n'existait plus du tout. L'espace où il était fermé sera fermé. C'est presque toujours ce que vous voulez. Les deux sont des parties standard de CSS - le support de navigateur n'est pas un problème. Utilisez celui qui produira le comportement / l'apparence souhaité de votre application.