Sto cercando di attivare o disattivare la visibilità di alcuni elementi DIV su un sito Web a seconda della classe di ciascun DIV. Sto usando uno snippet JavaScript di base per attivarli. Il problema è che lo script utilizza solo getElementById
, poiché getElementByClass
non è supportato in JavaScript. E sfortunatamente devo usare class e non id per nominare i DIV perché i nomi DIV sono generati dinamicamente dal mio foglio di stile XSLT utilizzando determinati nomi di categoria.
So che ora alcuni browser supportano getElementByClass
, ma poiché Internet Explorer non lo fa, non voglio seguire quella strada.
Ho trovato script che utilizzano funzioni per ottenere elementi per classe (come il n. 8 in questa pagina: http://www.dustindiaz.com/top-ten-javascript/ ), ma non riesco a capire come integrarli con il mio script toggle.
Ecco il codice HTML. Gli stessi DIV mancano poiché vengono generati al caricamento della pagina con XML / XSLT.
Domanda principale: come posso ottenere lo script Toggle sottostante per ottenere Element by Class invece di ottenere Element by ID?
<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>