Đôi khi tôi phải lựa chọn giữa việc sử dụng một phần tử CSS: di chuột hoặc JavaScript onmouseover để kiểm soát sự xuất hiện của các phần tử html trên một trang. Hãy xem xét tình huống sau đây khi một div bao bọc một đầu vào
<div>
<input id="input">
</div>
Tôi muốn đầu vào thay đổi màu nền khi con trỏ chuột di chuột qua div. Cách tiếp cận CSS là
<style>
input {background-color:White;}
div:hover input {background-color:Blue;}
</style>
<div><input></div>
Cách tiếp cận JavaScript là
<div onmouseover="document.getElementById('input').style.backgroundColor='Blue';">
<input id="input">
</div>
Ưu điểm và nhược điểm của từng cách tiếp cận là gì? Phương pháp CSS có hoạt động tốt với hầu hết các trình duyệt web không? JavaScript có chậm hơn css không?