J'essaie de basculer la visibilité de certains éléments DIV sur un site Web en fonction de la classe de chaque DIV. J'utilise un extrait de code JavaScript de base pour les activer. Le problème est que le script utilise uniquement getElementById
, car il getElementByClass
n'est pas pris en charge dans JavaScript. Et malheureusement, je dois utiliser class et non id pour nommer les DIV car les noms DIV sont générés dynamiquement par ma feuille de style XSLT en utilisant certains noms de catégories.
Je sais que certains navigateurs prennent désormais en charge getElementByClass
, mais depuis Internet Explorer, je ne veux pas emprunter cette voie.
J'ai trouvé des scripts utilisant des fonctions pour obtenir des éléments par classe (comme le # 8 sur cette page: http://www.dustindiaz.com/top-ten-javascript/ ), mais je n'arrive pas à comprendre comment les intégrer avec avec mon script à bascule.
Voici le code HTML. Les DIV eux-mêmes sont manquants car ils sont générés au chargement de la page avec XML / XSLT.
Question principale: Comment obtenir le script Toggle ci-dessous pour obtenir élément par classe au lieu d'obtenir élément par ID?
<html>
<head>
<!--This is the TOGGLE script-->
<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>
</head>
<!--the XML/XSLT page contents will be loaded here, with DIVs named by Class separating dozens of li's-->
<a href="#" onclick="toggle_visibility('class1');">Click here to toggle visibility of class 1 objects</a>
<a href="#" onclick="toggle_visibility('class2');">Click here to toggle visibility of class 2 objects</a>
</body>
</html>