Ich versuche, die Sichtbarkeit bestimmter DIV-Elemente auf einer Website abhängig von der Klasse jedes DIV umzuschalten. Ich verwende ein einfaches JavaScript-Snippet, um sie umzuschalten. Das Problem ist, dass das Skript nur verwendet getElementById, da getElementByClasses in JavaScript nicht unterstützt wird. Und leider muss ich Klasse und nicht ID verwenden, um die DIVs zu benennen, da die DIV-Namen von meinem XSLT-Stylesheet unter Verwendung bestimmter Kategorienamen dynamisch generiert werden.
Ich weiß, dass bestimmte Browser jetzt unterstützen getElementByClass, aber da Internet Explorer dies nicht tut, möchte ich diesen Weg nicht gehen.
Ich habe Skripte gefunden, die Funktionen verwenden, um Elemente nach Klassen abzurufen (z. B. # 8 auf dieser Seite: http://www.dustindiaz.com/top-ten-javascript/ ), aber ich kann nicht herausfinden, wie sie integriert werden können mit mit meinem Umschalt-Skript.
Hier ist der HTML-Code. Die DIVs selbst fehlen, da sie beim Laden der Seite mit XML / XSLT generiert werden.
Hauptfrage: Wie erhalte ich das folgende Umschalt-Skript, um Element nach Klasse abzurufen, anstatt Element nach ID abzurufen?
<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>