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