Próbuję przełączać widoczność niektórych elementów DIV na stronie internetowej w zależności od klasy każdego DIV. Używam podstawowego fragmentu kodu JavaScript, aby je przełączać. Problem polega na tym, że skrypt używa tylko getElementById, co getElementByClassnie jest obsługiwane w JavaScript. I niestety muszę użyć class, a nie id, aby nazwać DIV, ponieważ nazwy DIV są dynamicznie generowane przez mój arkusz stylów XSLT przy użyciu pewnych nazw kategorii.
Wiem, że niektóre przeglądarki obsługują teraz getElementByClass, ale ponieważ Internet Explorer nie działa, nie chcę iść tą drogą.
Znalazłem skrypty używające funkcji do pobierania elementów według klas (takich jak # 8 na tej stronie: http://www.dustindiaz.com/top-ten-javascript/ ), ale nie mogę dowiedzieć się, jak je zintegrować z moim skryptem przełączania.
Oto kod HTML. Brakuje samych DIV, ponieważ są one generowane podczas ładowania strony za pomocą XML / XSLT.
Główne pytanie: Jak uzyskać poniższy skrypt Toggle, aby uzyskać element według klasy zamiast pobierania elementu według identyfikatora?
<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>