Rimaniamo ancora un attimo sulla struttura di markup. Stai forse facendo un menù? Nel qual caso è uso comune utilizzare (ed ha senso anche dal punto di vista logico) le liste non ordinate. Ecco un esempio:
codice:
<ul id="menu">[*]Blog[*]About me[*]Photos[/list]
Comunque, tornando al tuo ultimo foglio di stile postato, il tuo ragionamento è più che corretto, solo che hai fatto un errore di distrazione: le classi si puntano con "." ma gli id si puntano con "#". Ecco che il tuo codice corretto diventa:
codice:
div#menunodo a:hover { 
   background-color: #f00; 
   color: #fff; 
}
Puoi comunque tralasciare il "div" davanti a "#" e ricorda che i valori esadecimali dei colori possono essere abbreviati quando le tre coppie RGB sono composte da due valori uguali. Ecco che "#ff00aa" diventa "#f0a" e "#ffffff" diventa "#fff".