Eh bien, c'est en fait une question assez intéressante. J'essaie de penser à la façon dont vous pourriez même faire un benchmark sur quelque chose comme ça, d'autant plus que la plupart du temps, ni CSS ni JavaScript ne feront de choses très intensives en calcul sur une page Web.
Mon intuition dirait qu'il faut utiliser le CSS autant que possible, mais n'en faites pas une règle dure et rapide.
a:hover {
background-color: green;
}
est mieux sémantique alors
$('a').onmouseover(function() {
$(this).css('background-color','green');
})
MAIS
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).css('background-color','green');
}
})
serait difficile (mais pas impossible) en CSS. Vous pouvez le faire de cette façon.
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).addClass('Green');
}
})
a.green {
background-color: green;
}
Ce serait vraiment une façon un peu plus maladroite de faire ce qui aurait pu être fait directement en JavaScript, mais j'y pense depuis quelques minutes, et même ici, la bonne solution peut très bien être un CSS, par exemple si vous définissiez beaucoup d'attributs lors du survol.
** Veuillez noter qu'aucun de ces codes ne devrait fonctionner, ceux-ci sont uniquement à des fins de démonstration. **