Ora ci provo... il problema è che se io scrivo qualcosa tipo:

<div class="submenu" id="questo">bla bla bla</div>

il js diventa qualcosa tipo "nascondi elementi SUBMENU"

e il css di stampa diventa div#questo {display:block;}

Ma il problema è che il CSS viene letto prima del javascript... quindi sovrascrive