Teoretycznie powinno działać. Praktycznie też działa, bo tak parę razy robiłem.
Powiedz czy wyświetla się jakiś błąd w konsoli?
Powodem błędu może też być to, że wykonujesz ten kod w sekcji head jeszcze przed wczytaniem całej strony, przez co skrypt nie widzi jeszcze tych elementów. Możesz przenieść kod tuż przed </body> lub zamknąć go w:
$(document).ready(function() {
// tu kod
});
lub:
$(function() {
// tu kod
});