Bene, questa è in realtà una domanda piuttosto interessante. Sto cercando di pensare a come farebbe un punto di riferimento su qualcosa del genere, soprattutto dal momento che la maggior parte delle volte né i CSS né i JavaScript stanno andando a fare cose intensamente computazionali su una pagina web.
Il mio istinto direbbe che usa CSS il più possibile, ma non trasformarlo in una regola dura e veloce.
a:hover {
background-color: green;
}
è semanticamente migliore allora
$('a').onmouseover(function() {
$(this).css('background-color','green');
})
MA
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).css('background-color','green');
}
})
sarebbe difficile (anche se non impossibile) nei CSS. Potresti farlo in questo modo.
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).addClass('Green');
}
})
a.green {
background-color: green;
}
Questo sarebbe davvero un modo leggermente più imbarazzante di fare ciò che avrebbe potuto essere fatto direttamente in JavaScript, ma ci sto pensando da un paio di minuti, e anche qui, la soluzione giusta potrebbe benissimo essere un CSS, ad esempio se stavi impostando molti attributi durante il passaggio del mouse.
** Si noti che nessuno di questo codice dovrebbe funzionare, questi sono solo a scopo dimostrativo. **