Ya, itu sebenarnya pertanyaan yang cukup menarik. Saya mencoba memikirkan bagaimana Anda akan melakukan benchmark pada sesuatu seperti ini, terutama karena sebagian besar waktu baik CSS atau JavaScript tidak akan melakukan hal-hal yang sangat intensif secara komputasi pada halaman web.
Perasaan saya akan mengatakan bahwa gunakan CSS sebanyak mungkin, tetapi jangan membuatnya menjadi aturan yang keras dan cepat.
a:hover {
background-color: green;
}
lebih baik secara semantik
$('a').onmouseover(function() {
$(this).css('background-color','green');
})
TAPI
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).css('background-color','green');
}
})
akan sulit (meskipun bukan tidak mungkin) di CSS. Anda bisa melakukannya dengan cara ini.
$('a').onmouseover(function() {
if (somethingelsehappened) {
$(this).addClass('Green');
}
})
a.green {
background-color: green;
}
Ini benar-benar akan menjadi cara yang sedikit lebih canggung untuk melakukan apa yang bisa dilakukan dalam JavaScript secara langsung, tetapi saya telah memikirkannya selama beberapa menit, dan bahkan di sini, solusi yang tepat mungkin adalah CSS, misalnya jika Anda mengatur banyak atribut saat melakukan hover.
** Harap dicatat bahwa tidak ada kode ini yang diharapkan berfungsi, ini hanya untuk tujuan demonstrasi saja. **