Beh, questa è in realtà una domanda piuttosto interessante. Sto provando a pensare a come potresti persino fare un benchmark su qualcosa di simile, specialmente dal momento che la maggior parte delle volte né CSS né JavaScript stanno facendo cose molto intense sul web in una computazione.
Il mio istinto direbbe che usare il CSS il più possibile, ma non trasformarlo in una regola dura e veloce.
a:hover {
background-color: green;
}
è meglio semanticamente di
$('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 in JavaScript direttamente, ma ci ho pensato per un paio di minuti, e anche qui, la soluzione giusta potrebbe benissimo essere un CSS , ad esempio se stavi impostando molti attributi quando fai il passaggio del mouse.
** Si prega di notare che nessuno di questo codice dovrebbe funzionare, questi sono solo a scopo dimostrativo. **