Я намагаюся перемикати видимість певних елементів DIV на веб-сайті залежно від класу кожного DIV. Я використовую базовий фрагмент JavaScript для їх перемикання. Проблема полягає в тому, що сценарій використовує лише те getElementById
, що getElementByClass
не підтримується в JavaScript. І, на жаль, я маю використовувати клас, а не ідентифікатор, щоб називати DIV, оскільки імена DIV динамічно генеруються моєю таблицею стилів XSLT, використовуючи певні імена категорій.
Я знаю, що певні браузери зараз підтримують getElementByClass
, але оскільки Internet Explorer цього не робить, я не хочу йти цим шляхом.
Я знайшов сценарії, що використовують функції для отримання елементів за класом (наприклад, №8 на цій сторінці: http://www.dustindiaz.com/top-ten-javascript/ ), але я не можу зрозуміти, як їх інтегрувати з моїм сценарієм перемикання.
Ось HTML-код. Самі DIV відсутні, оскільки вони створюються при завантаженні сторінки за допомогою XML / XSLT.
Основне питання: Як отримати вказаний нижче сценарій Toggle для отримання елемента за класом замість отримання елемента за ідентифікатором?
<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>