Figurati.

Si ovviamente tramite selettore risolvo comunque
Io direi piuttosto che col selettore risolvi al meglio e con JavaScript risolvi comunque ma in maniera più macchinosa.

Con JavaScript puoi usare, in generale, gli eventi onmouseover e onmouseout, quindi assegnare la classe o le regole css all'elemento in questione.

Ad ogni modo il procedimento può essere applicato in svariati modi e può differire anche di molto a seconda del contesto in cui devi applicare questo effetto e delle tue specifiche esigenze. La mia domanda era anche intenta a chiarire meglio eventuali dettagli per poterti fornire una soluzione mirata.

In particolare non si capisce: se vuoi ottenere l'effetto su tutti gli elementi con tale classe o se puoi specificare un elemento tramite ID a cui applicare quell'effetto; se vuoi sfruttare comunque quel css (con quella classe) e gestirlo poi con JavaScript (sovrascrivendo le regole attraverso la proprietà style o usando diverse classi definite per i due stati) oppure gestire il tutto solo da JavaScript definendo direttamente lo style sull'elemento in questione; se puoi usare jQuery (che comunque è JavaScript) oppure vuoi usare solo puro JavaScript.

Questo può essere uno dei tanti modi:
codice:
<!DOCTYPE HTML>
<html>
  <head>
    <title>Esempio</title>
    <meta charset="utf-8">
  </head>
  <body>
    <div id="trasparente">Lorem ipsum dolor sit amet</div>
    <script type="text/javascript">
      var elemento = document.getElementById("trasparente");
      elemento.style.opacity = .5;
      elemento.onmouseover = function(){
        this.style.opacity = 1;
      }
      elemento.onmouseout = function(){
        this.style.opacity = .5;
      }
    </script>
  </body>
</html>