Estoy tratando de alternar la visibilidad de ciertos elementos DIV en un sitio web según la clase de cada DIV. Estoy usando un fragmento de JavaScript básico para alternarlos. El problema es que el script solo usa getElementById
, ya getElementByClass
que no es compatible con JavaScript. Y, desafortunadamente, tengo que usar class y no id para nombrar los DIV porque los nombres de DIV son generados dinámicamente por mi hoja de estilo XSLT usando ciertos nombres de categoría.
Sé que ciertos navegadores ahora son compatibles getElementByClass
, pero como Internet Explorer no lo hace, no quiero seguir ese camino.
Encontré scripts que usan funciones para obtener elementos por clase (como el n. ° 8 en esta página: http://www.dustindiaz.com/top-ten-javascript/ ), pero no puedo averiguar cómo integrarlos. con mi script de alternancia.
Aquí está el código HTML. Los DIV en sí mismos faltan ya que se generan al cargar la página con XML / XSLT.
Pregunta principal: ¿Cómo obtengo el siguiente script de alternancia para obtener Elemento por clase en lugar de obtener Elemento por 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>