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 getElementByClass
es 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>