Javascript activer / désactiver la visibilité de plusieurs divs
http://blog.movalog.com/a/javascript-toggle-visibility/
c'est une page avec un code et un script im en utilisant dans mon site pour une galerie d'images, cependant lorsque vous essayez d'activer /désactiver la visibilité de plusieurs div est qu'il ne fonctionne que sur le premier. quelqu'un peut s'il vous plaît corriger pour qu'il fonctionne avec plusieurs div, je ne sais pas js 🙂
ici, c'est le javascript
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
et voici le code html pour les liens
<tr><td><a href="#" onclick="toggle_visibility('nyc');">New York</a></td>
<td><a href="#" onclick="toggle_visibility('photoshop');">Photoshop Work</td>
<td><a href="#" onclick="toggle_visibility('photography');">Photography</td></tr>
<tr><td><a href="#" onclick="toggle_visibility('art');">Art Projects</td></tr>
attends, ne pourrait-on pas travailler parce qu'il est en train d'essayer d'accéder à un les propriétés de plusieurs divs via la propriété "id", serait-il travailler avec la classe de la propriété et si ce serait je viens de changer le script java, où il est dit "id" à la "classe"
- Pouvez-vous montrer votre code de plusieurs divs?
- Aucune raison pour
<!--
s dans les balises de script? Ou êtes-vous cibler les navigateurs plus anciens de Netscape 2? - Qui divs voulez-vous que ceci affecte? Êtes-vous de les identifier avec leur
id
ou avec des noms de classe? - Chaque id doit être unique dans le document. Si vous voulez avoir plus d'un élément avec le même id, vous devez utiliser les classes à la place.
Vous devez vous connecter pour publier un commentaire.
Il semble que vous essayez quelque chose comme
Le problème est que chaque id doit être unique dans le document, afin de
document.getElementById
renvoie à un élément unique, n'est pas une collection d'éléments.Alors, si vous voulez avoir plus d'un élément avec le même id, vous devez utiliser les classes à la place.
Si vous voulez le faire fonctionner avec plusieurs classes, l'utilisation
document.getElementsByClassName
ne fonctionne pas sur les anciens navigateurs. Voir tableau de compatibilité du navigateur ici: developer.mozilla.org/en-US/docs/Web/API/...Vous pouvez utiliser
Et de l'appeler comme
Une autre façon est d'utiliser
arguments
variable, mais qui pourrait ralentir votre codeEt de l'appeler comme
Si vous ne voulez pas créer la fonction
toggle
chaque fois que vous appeleztoggle_visibility
(merci @David Thomas), vous pouvez utiliserOu
toggle()
fonction chaque fois que vous appeleztoggle_visibility()
(qui est un peu inutile).Vous avez besoin de faire défiler une liste d'id ou de l'utilisation d'un nom de classe comme argument de toggle_visibilty ---- ce qui signifie que vous auriez à modifier la fonction. Il ressemble à droite vous êtes maintenant en n'appelant toggle_visibility sur un seul élément.
jQuery qui rend ce genre de chose plus facile:
Il est très bête erreur dans votre code..
Ajouter le
id
attribut dans les balises td id='nyc', etc. et il devrait fonctionner correctement